[JavaSE]基础回顾04

[JavaSE]基础回顾04

数据类型问题

  • 整型的数值范围? 整型的进制
  • 浮点数的比较问题,BigDecimal的使用
  • 字符串比较的不同
  • 布尔类型的使用
public class Demo03 {  
    public static void main(String[] args){  
        //整数拓展 进制 二进制 十进制 八进制 十六进制  
  int i = 10;  
 int i2 = 010; //八进制  
  int i3 = 0x10; //十六进制  
  
  System.out.println(i);  
  System.out.println(i2);  
  System.out.println(i3);  
  System.out.println("=============================================");  
  //====================================================  
 //浮点数扩展? 银行业务怎么表示?钱  
  //BigDecimal 数学工具类  
  //====================================================  
 //float 有限 离散 舍入误差 大约 接近但不等于  
  //double  
 //最好完全使用浮点数进行比较  
  
  float f = 0.1f; //0,1  
  double d = 1.0/10; //0.1  
  
  System.out.println(f==d);//flase  
  
  float d1 = 23231232312355f;  
 float d2 = d1 + 1;  
  
  System.out.println(d1 == d2);//true  
  System.out.println("=============================================");  
  
  //=====================================================  
 //字符拓展?  
  //所有的字符本质为数字编码  
  //unicode编码表 2字节 0 - 65536 Excel 2 16 = 65536 UTF-8 //=====================================================  char c1 = 'a';  
 char c2 = '中';  
  
  System.out.println(c1);  
  
  System.out.println((int)c1);  
  
  
  System.out.println(c2);  
  
  System.out.println((int)c2);  
  
  //U0000 UFFFF  
  char c3 = '\u0061';  
  
  //d转义字符  
  // \t 制表符  
  // \n 换行  
  
  System.out.println("Hello\nWorld");  
  
  System.out.println("=============================================");  
  String hl = new String("hello world");  
  String hll = new String("hello world");  
  System.out.println(hl == hll);//不相等,比较的是所创的对象地址值  
  
  String hl1 = "hello world";  
  String hll1 = "hello world";  
  System.out.println(hl1 == hll1);//相等比较的是字符值  
  
  System.out.println("=============================================");  
  //布尔值扩展  
  boolean flag = true;  
 if (flag) System.out.println("老鸟");  
  }  
}

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
//低 >>>>>>>>>>>>>>>>>>>>>>>>>>>> 高
byte,short,char -> int -> long ->float -> double
  • 运算中,不同类型的数据线转化为同一类型,然后进行运算。
  • 强制类型转换
  • 自动类型转换
public class Demo04 {  
    public static void main(String[] args) {  
        int i = 128;  
 byte b = (byte)i; //内存溢出  
  double c = i; //内存溢出  
  boolean d = i ; //错误  
  
  //强制转换 (类型)变量名  高--低  
  //自动转换      低--高  
  
  System.out.println(i);  
  System.out.println(b);  
  System.out.println(c);  
  
  /*  
  注意点:  
 - 不能对布尔值进行转换  
 - 不能把对象类型转换为不相干的类型  
 - 在把高容量转换到低容量的时候,强制转换  
 4、 转换的时候可能存在内存溢出,或者精度问题!  
 */  
  System.out.println("=====================");  
  System.out.println((int)23.7); //23  
  System.out.println((int)-45.89f); //-455  
  
  System.out.println("=====================");  
 char c = 'a';  
 int d = c+1;  
  System.out.println(d);  
  System.out.println((char)d);  
  System.out.println("=====================");  
  //======================  
 //操作比较大的数的时候,注意溢出问题  
  //JDK7新特性,数字之间可以用下划线分割  
  int money = 10_0000_0000;  
 int year = 20;  
 int total = money * year; //-1474836480  ,计算的时候溢出了  
  long total1 = money * year; //默认是int,转换之前已经存在问题  
  long total2 = money * year; //先把一个数转换为long  
  System.out.println(total);  
  System.out.println(total1);  
  System.out.println(total2);  
  }  
}

变量、变量作用域和常量

变量

  • 变量就是可以变化的量。
  • Java是强类型语言,声明变量必须指定其类型
  • Java变量是程序中最基本能的存储单元,其要素包括变量名,变量类型和作用域。
   type varNmae [=value] [{,varNName[=value]}];
   //数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量。
  • 注意事项:
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
    • 变量名必须是合法的标识符。
    • 变量声明是一条完整额度语句,因此每一个声明都必须以分号结束

变量作用域和常量

  • 类变量
  • 实例变量
  • 局部变量
    public class Variable{
   		static int allClicks = 0;//类变量
   		String str = "hello world"; //实例变量
   		public void method(){
   			int i = 0; //局部变量
   		} 
    }

   public class Demo08 {  
     
       //类变量  
     static double salary = 2500;  
     
     //常量 修饰符不存在先后顺序  
     static final String zz = "狗子";  
     //属性:变量 默认值Null  
     String name;  
     
     //main 方法  
     public static void main(String[] args) {  
     
           //局部变量,必须声明和初始化  
     int i = 10;  
     System.out.println(i);  
     
     //变量类型 变量名称 = new Demo08()  Demo08 demo08 = new Demo08();  
     demo08.name = "猴子";  
     }  
}

变量的命名规范

  • 所有变量、方法、类名:见名就知
  • 类成员边纳凉:首字母小写和驼峰原则:monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母及下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(),runRun()
posted @   Ac4nd  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示