Java基础语法(数据类型)

Java基础语法(数据类型),第1张

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("HellotWorld");
         System.out.println("HellonWorld");
 ​
         //布尔值扩展
         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);
 ​
         
 ​
         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
         
     }
 }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5706804.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存