Java基础语法(数据类型)

Java基础语法(数据类型)

  • 学习自B站:【狂神说Java】Java零基础学习视频通俗易懂

  • Java学习随笔(casual literary notes)

 

注释

Java中的注释有三种

  • 单行注释://

  • 多行注释:/* */

  • 文档注释://JavaDoc:文档注释 /** */

 

标识符

  • 关键字

 

 

 

数据类型

  • 强类型语言

    要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

  • 弱类型语言

 

  • Java的数据类型分为两大类

    • 基本类型(primitive type)

    • 引用类型(reference type)

       

 public class Demo02 {
     public static void main(String[] args) {
 
         //八大基本数据类型
 
         //整数的4种表示
         int num1 = 10;   //最常用
         byte num2 = 20;
         short num3 = 30;
         long num4 = 30L;   //long类型要在数字后面加个L
 
         //小数:浮点数
         float num5 = 3.14F;   //float类型要在后面加上F
         double num6 = 3.1415926;
 
         //字符类型
         char name = 'A';
 
         //字符串(String不是关键字,它是类)
         String HJX = "cool";
 
         //布尔值:是非
         boolean flag = true;
         //boolean flag = false;
         
    }
 }

 

什么是字节

  • 位(bit):是计算机内部数据储存的最小单元,11001100是一个八位二进制数

  • 字节(byte):是计算机中数据处理的基本单位, 习惯上用大写B来表示, 1B(byte,字节)= 8bit(位)

  • 字符:是指计算机中使用的字母、数字、字和符号

 

数据类型扩展

 public class Demo03 {
     public static void main(String[] args) {
 
         //整数拓展   进制   二进制0b 十进制   八进制0   十六进制0x
         int i_1 = 10;   //十进制
         int i_2 = 010;   //八进制
         int i_3 = 0x10;   //十六进制
         System.out.println(i_1);
         System.out.println(i_2);
         System.out.println(i_3);
         System.out.println("=====================================");
         //=====================================
         //浮点数拓展   银行业务怎么表示?
         //BigDeciaml 数学工具类
         //=====================================
         //float   有限 离散 舍入误差 大约 接近但不等于
         //double
         //最好避免使用浮点数进行比较
         //最好避免使用浮点数进行比较
         //最好避免使用浮点数进行比较
 
         float f = 0.1f; //0.1
         double d = 1.0/10; //0.1
 
         System.out.println(f == d); //false
         System.out.println(f);
         System.out.println(d);
 
         float a1 = 23232323232323f;
         float a2 = a1 + 1;
         System.out.println(a1==a2); //true
 
         //=====================================
         //字符拓展
         //=====================================
         char c1 = 'A';
         char c2 = '中';
         System.out.println("=====================================");
         System.out.println(c1);
         System.out.println((int)c1); //强制转换
         System.out.println(c2);
         System.out.println((int)c2); //强制转换
         //所有的字符本质还是数字
         //编码 unicode 2字节 0 - 65536
         char c3 = '\u0061';
         System.out.println(c3); //a
 
         //转义字符
         // \t : 制表符
         // \n : 换行
         // ...
         System.out.println("=====================================");
         System.out.println("Hello\tWorld");
         System.out.println("Hello\nWorld");
 
         //布尔值扩展
         boolean flag = true;
         if (flag == true){} //新手的写法
         if (flag ){} //flag默认为true,老手的写法
         //less is more : 代码要精简易读
         
    }
 }

 

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

  • 运算中,不同类型的数据先转化为同一类型,然后进行运算

 public class Demo04 {
     public static void main(String[] args) {
 
         int i = 128;
         byte b = (byte)i; //内存溢出
         //强制转换   (类型)变量名   高-->低
         //自动转换   低-->高
         //================================
         //低------------->高
         //byte,short,char-->int-->long-->float-->double
 
         System.out.println(i);
         System.out.println(b);
 
         /*
         注意点:
         1.不能对布尔值进行转换
         2.不能把对象类型转换为不相干的类型
         3.在把高容量转换到低容量的时候,需强制转换。(反之则不需要强制转换)
         4.转换的时候可能存在内存溢出现象,或者精度问题!
         */
 
         System.out.println("================================");
         System.out.println((int)23.7); //23
         System.out.println((int)-45.89f); //-45
 
         System.out.println("================================");
         char c = 'a';
         int d = c+1;
         System.out.println(d);
         System.out.println((char)d);
 
         //拓展: JDK7的新特性--数字之间可以用下划线分割
         int money = 10_0000_0000;
         System.out.println(money);
 
         //notice:操作比较大的数的时候,注意溢出问题
         int s = 10_0000_0000;
         int year = 20;
         int total = s * year;
         System.out.println(total); //-1474836480 (溢出了)
         //如何解决?
         int ss = 10_0000_0000;
         int years = 20;
         long totals = ss * ((long)years); //先把一个数转换为long
         System.out.println(totals); //20000000000
         
    }
 }

 

posted @ 2022-01-18 20:40  随机惯性粒子群  阅读(133)  评论(0)    收藏  举报