关键词搜索

源码搜索 ×
×

(Java)第 3 章 Java 基础程序设计

发布2019-10-22浏览653次

详情内容

一、基本数据类型

1. 基本数据类型的使用

  1. 如果想要表示整数就使用 int (例如:表示一个人的年龄),表示小数就使用 double(例如:表示一个人的成绩或者是工资);
  2. 如果描述日期数字或者表示文件或者内存大小(程序中是以字节为单元统计大小的)使用 long;
  3. 如果要实现内容传递(IO操作、网络编程)或者是编码转换(JSP开发中使用 UTF-8 编码)时使用 byte;
  4. 如果要想实现逻辑的控制,可以使用boolean 描述(boolean只有 true 和 false两种值);
  5. 如果要处理中文,使用 char 可以避免乱码问题

2. 转义字符的使用

转义字符描述
\f换页
\\反斜线
\b倒退一格
\'单引号
\r归位
\"双引号
\t制表符 Tab
\n换行
public class DataDemoo05 {
    public static void main(String[] args) {
        char ch1 = '\"';
        char ch2 = '\\';
        System.out.println("ch1 = "+ ch1);
        System.out.println("ch2 = " + ch2);
        System.out.println("\"Hello world!\"");
    }
}

    在这里插入图片描述

    3. 基本数据类型的默认值

    数据类型默认值
    byte(byte) 0
    short(short) 0
    int0
    long0L
    float0.0f
    double0.0d
    char\u0000(空,”)
    booleanfalse

    在某些情况下,Java会给这些没有赋初始值的变量一格确切的默认值,这没有任何意义,是没有必要的,但应该保证程序执行时不会有这种未定义值的变量存在。

    对于Java 中的基本类型,因为使用频率很高,所以不是使用 new 创建变量,而是使用一个“自动”变量,这个变量直接存储值,并插入栈内存中

    通常 new 创建出来的对象都是保存在堆内存中

    基本类型的赋值都是直接的,而不像对象,赋予的只是其内存的引用。举个例子,a = b ,如果 b 是基本类型,那么赋值操作会将 b 的值复制一份给变量 a, 此后若 a 的值发生改变是不会影响到 b 的。作为一名程序员,这应该成为我们的常识

    如果是为对象赋值,那么结果就不一样了。对一个对象进行操作时,我们实际上操作的是它的引用。所以我们将右边的对象赋予给左边时,赋予的只是该对象的引用。此时,两者指向的堆中的对象还是同一个

    4. 数据类型的转换

    public class DataDemo08 {
        public static void main(String[] args) {
            int x = 30;
            float y = 22.19f;
            System.out.println("x/y = " + (x/y));
            System.out.println("10/3.5 = " + (10/3.5));
            System.out.println("10/3 = " + (10/3));
        }
    }
    

      在这里插入图片描述
      一格整型常量和一个浮点型常量进行计算后,结果也会变为一个浮点型数据
      如果是两个 int 类型的常量进行计算的话,最终结果还是 int 类型,而其小数部分将会被忽略掉

      任何类型的数据都向 String 转型
      (1)两个字符串之间可以通过使用 “+” 进行连接
      (2)任何数据类型碰到 String 类型的变量或者常量之后都向 String 类型转换

              public static void main(String[] args) {
                  String str = "test";
                  int x = 30;
                  int i=1,j=2;
                  str = str + x;
                  System.out.println("str = " + str);
                  System.out.println("1+2 = " + i + j); // 这里的 + 表示的是字符串连接的含义
                  System.out.println("1+2 = " + (i+j)); // 表示两个数字相加的结果
              }
      

        在这里插入图片描述

        5. 数据类型的强制转换

        (欲转换的数据类型)变量名称
        
        • 1
        public class Test {
            public static void main(String[] args) {
                float f = 30.3f;
                int x = (int)f;
                System.out.println("x = " + x);
                System.out.println("10/3 = " + ((float)10/3));
            }
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8

        在这里插入图片描述

        二、运算符、表达式与语句

        1. 关系运算符

        public class Test {
            public static void main(String[] args) {
               int num = 10;
               if(num % 2 ==0){
                   System.out.println(num + " is even");
               }
               else {
                   System.out.println(num + " is odd");
               }
               num +=1; // 自加操作
                num -=1; // 自减操作
                System.out.println("num = " + num);
            }
        }
        
          10
        • 11
        • 12
        • 13
        • 14

        在这里插入图片描述

        2. 逻辑运算符

        逻辑运算符描述
        &AND,与
        &&短路与
        |OR,或
        ||短路或

        为什么会有两种与和或的操作?

        &&&
        |||1)对于与操作来说,如果第一个条件为假,则后面不管是真是假,最终的结果都是假。
        (2)对于或操作来说,如果第一个条件为真,则后面不管是真是假,最终的结果都是真。
        
        • 1
        • 2
        • 3
        • 4

        (1)对于与来说,要求所有的条件都判断,使用短路与如果第一个条件false,则后面的条件将不再判断。
        (2)对于或来说,要求所有的条件都判断,使用短路或如果第一个条件为true,则后面的条件将不再判断

        测试 & 与 && 的不同

        public class Test {
            public static void main(String[] args) {
               if(10 != 10 & 10/0 ==0){
                   System.out.println("条件满足");
               }
            }A	QWE
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7

        在这里插入图片描述
        出错的原因在于,与操作要把所有的条件进行判断,所有计算 10/0 时就出现了错误

        public class Test {
            public static void main(String[] args) {
               if(10 != 10 && 10/0 ==0){
                   System.out.println("条件满足");
               }
            }
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7

        在这里插入图片描述

        3. 位运算

        逻辑运算符描述
        &按位与
        |按位或
        ^异或(相同为0,不同为1)
        ~取反
        <<左移位
        >>右移位
        >>>无符号右移位

        在 Java中所有的数据都是以二进制数据的形式进行运算的,即如果是一个int型变量,要采用位运算的时候,必须将其变为二进制数据。

        常见的面试题分析
        如何更快的计算出 2 的 3 次方?

        public class Test {
            public static void main(String[] args) {
             int x = 2;
             System.out.println(x << 2); // 向左移2位
            }
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6

        三、选择与循环语句

        1. 三目运算语句与 switch 语句

        三牧运算符的表达式:
        变量 = 条件判断? 表达式1:表达式2;
        
        • 1
        • 2
        public class Test {
            public static void main(String[] args) {
                String str = "HELLO";
                int flag = 3>2 ? 1:0;
                if (flag == 1){
                    System.out.println("Start switch judgment: ");
                }
                else {
                    System.out.println("关于三目运算符的使用");
                }
                switch (str){
                    case "HELLO":{
                        System.out.println("Content is HELLO");
                        break;
                    }
                    case "hello":{
                        System.out.println("Content is hello");
                        break;
                    }
                    default:{
                        System.out.println("Note the format of the switch");
                    }
                }
            }
        }
        
        
          10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25
        • 26

        2. 循环结构

        1. do…while 的使用格式
        do{
        	语句 1;
        	语句 2;
        }while(循环条件判断);
        
        • 1
        • 2
        • 3
        • 4
        public class Test {
            public static void main(String[] args) {
                int x = 1;
                int sum = 0;
                do{
                    sum +=x;
                    x++;
                }while (x<=10);
            }
        }
        
          10
        1. while 循环:在不确定次数但是确定循环结束条件的情况下使用
        while(循环条件判断){
        	语句 1;
        	语句 2;
        }
        
        • 1
        • 2
        • 3
        • 4
        public class Test {
            public static void main(String[] args) {
                int x = 1;
                int sum = 0;
                while (x <= 10){
                    sum +=x;
                    x++;
                }
            }
        }
        
          10
        1. for 循环:确定循环次数的情况下使用
        for(赋值初值;判断条件;赋值增减量){
        	
        }
        
        • 1
        • 2
        • 3
        public class Test {
            public static void main(String[] args) {
                int sum = 0;
                for (int x=1;x<=10;x++){
                    sum +=x;
                }
            }
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8

        相关技术文章

        点击QQ咨询
        开通会员
        返回顶部
        ×
        微信扫码支付
        微信扫码支付
        确定支付下载
        请使用微信描二维码支付
        ×

        提示信息

        ×

        选择支付方式

        • 微信支付
        • 支付宝付款
        确定支付下载