数据类型拓展


数据类型拓展

整数拓展

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); //10
       System.out.println(i2); //8
       System.out.println(i3); //16
  }

浮点数拓展

public static void main(String[] args) {
       //浮点数拓展 银行业务怎么标示?钱
       //采用BigDecimal 数学工具类

       //floot 有限 离散 舍入误差 大约:接近但不等于
       //double
       //最好完全使用浮点数进行比较

       float f = 0.1f;  //0.1
       double d = 1.0/10;  //0.1
       System.out.println(f==d); //false

       float d1 = 23121212312312313f;
       float d2 = d1 + 1;
       System.out.println(d1==d2); //true
  }

字符拓展

public static void main(String[] args) {
       //字符拓展
       char c1 = 'a';
       char c2 = '中';

       System.out.println(c1); //a

       System.out.println((int) c1); //97,强制转换

       System.out.println(c2); //中

       System.out.println((int) c2); //20013,强制转换

       //所有的字符本质还是数字
  //编码 Unicode 表:97 = a,65 = A,2字节,最多可以表示0~65536
  //Excel 最大为2的16次方 = 65536
  //U0000 UFFFF
 
  char c3 = '\u0061';
       System.out.println(c3); //a
  }

字符串拓展

public static void main(String[] args) {
       //字符串拓展
       String str1 = new String("hello world");
       String str2 = new String("hello world");
       System.out.println(str1==str2); //false

       String str3 = "hello world";
       String str4 = "hello world";
       System.out.println(str3==str4); //true
       //从内存分析
  }

布尔值拓展

public static void main(String[] args) {
       //布尔值拓展
       boolean flag = true;
       if (flag==true){} //新手
       if (flag){} //老手
       //Less is More! 代码要精简易读
  }
 

每日Java面试题

1.Java怎么进行数组初始化?

方法一:

//一维数组
int[] arr = new int[5];

//二维数组
int[][] arr = new int[3][4];

方法二:

//一维数组
int[] arr = {1,2,3,4,5};

2.数组有没有length方法?String呢?

数组没有length()方法,但是又length属性,String有length()方法。

使用示例如下:

public static void main(String[] args) {
       String str = "Java";
       String[] languages = new String[]{"Java","PHP","GO"};
       System.out.println(str.length());
       System.out.println(languages.length);
  }

//输出结果
4
3

Process finished with exit code 0

3.怎么理解值传递和引用传递?

值传递:传递的是基本类型参数的字面量值的拷贝,方法对参数的修改不会影响之前参数的值。

引用传递:传递的是该参量所引用的对象在堆中地址值的拷贝,而不是拷贝整个对象本身,方法对参数的修改会直接影响参数之前的值。

posted @   崔九八  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示