Java学习笔记5.7

2021/5/7 22:25:23

本文主要是介绍Java学习笔记5.7,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

整数扩展、浮点数扩展、转义字符、输出分割线、布尔值扩招

 public class Demo3 {
     public static void main(String[] args) {
         //整数拓展: 进制  二进制0b  十进制  八进制0  十六进制0x
         int i = 10;
         int i2 = 010; //八进制0
         int i3 = 0x10;//十六进制0x   0~9 A~F  16
         System.out.println(i);
         System.out.println(i2);
         System.out.println(i3);
         System.out.println("======================");
 ​
         //=====================================
         //浮点数拓展?  银行业务怎么表示? 钱
         //BigDecimal 数学工具类
         //=====================================
         //float  有限 离散   舍入误差  大约 接近但不等于
         //double
         //最好避免使用浮点数进行比较
         //最好避免使用浮点数进行比较
         //最好避免使用浮点数进行比较
 ​
         float f = 0.1f;
         double d = 1.0 / 10;
         System.out.println(f == d);
         System.out.println(f);
         System.out.println(d);
         //=====================================
         //字符拓展
         //=====================================
         char c1 = 'a';
         char c2 = '中';
 ​
         System.out.println(c1);
         System.out.println((int) c1);//强制转行
         System.out.println(c2);
         System.out.println((int) c2);//强制转行
 ​
         //所有的字符本质还是数字
         //编码 Unicode 表:(97=a 65 =A)  2字节   0 - 65536  Excel  2 16 = 65536
 ​
         // u0000 UFFFF
 ​
         char c3 = '\u0061';
 ​
         System.out.println(c3);//a
 ​
         //转义字符
         // \t    制表符
         // \n  换行
 ​
 ​
         System.out.println("Hello\nworld");
 ​
         System.out.println("======================"); //输出分割线
         String sa = new String("hello world");
         String sb = new String("hello world");
         System.out.println(sa == sb);
 ​
         String sc = "hello world";
         String sd = "hello world";
         System.out.println(sc == sd);
         //对象 从内存分析
 ​
         //布尔值扩招
         boolean flag = true;
 ​
         if (flag == true) {
         }  //新手
         if (flag) {
         }     //  老手
         //Less Is More!    代码要精简易读
     }
 }

类型转换

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

 低  -------------------------------->  高
 byte,short,char-> int -> long-> float -> double
  • 运算中,不同类型的数据先转换为同一类型,然后进行运算。

  • 强制类型转换

  • 自动类型转换

 public class Demo5 {
     public static void main(String[] args) {
         int i = 128;
 ​
         byte b = (byte)i; //内存溢出
 ​
         //强制转换  (类型) 变量名  高--低
         //自动转换 低--高
 ​
 ​
 ​
         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);
 ​
 ​
 ​
 ​
 ​
     }
 }
 public class Demo6 {
     public  static void main(String[]args){
         //操作比较大的数的时候,注意溢出问题
         //JDK7新特性,数字之间可以用下划线分割
         int money = 10_0000_0000;
         int years = 20;
         int total = money*years; //-1474836480 , 计算的时候溢出了
         long total2 = money*years; //默认是int, 转换之前已经存在问题了?
 ​
         long total3 = money*((long)years);//先把一个数转换成Long,
         System.out.println(total3);
 ​
 ​
 ​
 ​
 ​
 ​
 ​
 ​
 ​
     }
 }

 



这篇关于Java学习笔记5.7的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程