我的Java知识复习回顾笔记

Posted dielianhua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的Java知识复习回顾笔记相关的知识,希望对你有一定的参考价值。

  1 public class JavaSE {
  2 
  3     public static void main(String[] args) {
  4       /*
  5        * JDK JRE JVM
  6        * 注释
  7        * 标识符:给变量、类、方法命名 
  8        * 首字符只能以字母、下划线、$开头
  9        * 其他部分可以是字母、下划线"_"、$、数字的任意组合
 10        * 区分大小写,且长度无限制
 11        * 不可以是Java关键字
 12        * 可以是中文 
 13        * 
 14        * java内部采用了Unicode字符集(2个字节表示一个字符),universal
 15        * 8种基本类型:(数值型)byte、int、short、long、(字符型)char、(浮点型)double、float、(布尔型)boolean
 16        * 数值型:byte(1个字节 -128~127)、short(2字节 -2^15~2^15-1 -32768~32767)
 17        * int(4个字节 -2^31~2^31-1)、long(8字节 -2^63~2^63-1)
 18        * int a1 = 10;(十进制)int a2 = 010;(八进制)int a3 = oxf;(十六进制)
 19        * 十-->二:Integer.toBinaryString(a1);
 20        * 十-->八:Integer.toOctalString(a1);
 21        * 十-->十六:Integer.toHexString(a1);
 22        * byte a4 = 10;short a5 = 100;long a6 = 1000;
 23        * 如果数据的大小没有超过byte/short/long的表述范围,则可以自动转型
 24        * long a7 = 1000L;
 25        * 浮点数:double(默认)、float
 26        * double d = 3.14; float = 0.1f;
 27        * float(4字节):-3.403E38~3.403E38
 28        * double(8字节):-1.798E308~1.798E308
 29        * 使用总结:浮点数存在舍入误差,很多数字不能精确表示。
 30        * 由于有无限小数,我们不可能用有限的数来表示无限的数,只能尽量精确。
 31        * 如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal
 32        * 字符型:char(2个字节 0~2^16(65536))char类型用来表示在Unicode编码表中的字符
 33        * Unicode编码被设计用来处理各种语言的所有文字,它占2个字节,可以允许有65536个字符
 34        * Unicode具有从0到65535之间的编码,他们通常用从’\u0000’到’\uFFFF’之间的十六进制值来表示(前缀为u表示Unicode)
 35        * ASCII码占1个字节,可允许有128个字符,是Unicode编码表中前128个字符。
 36        * char是在0~65535范围,运算时直接当作整数来运算。
 37        * 可以把0~65535之间的整数直接转型为char
 38        * 转义字符:\t、\n、\r、\\、\b、\‘、\‘‘
 39        * 布尔类型:boolean(1位、不是1个字节,一个字节有8位,只有两个值true和false)
 40        * 
 41        * 自动类型转化和强制类型转化
 42        * 自动类型转化规则:(1)byte-->short-->int-->long
 43        * (2)无数据丢失:char-->int  float、int-->double
 44        * (3)可能丢失精度:long-->float、double  int-->float
 45        */
 46        
 47         //打印a-z
 48         char c = ‘a‘;
 49         for(int i = 0; i < 26; i++) {
 50             char temp = (char) (c + i);
 51             System.out.print(temp);
 52         }
 53         
 54         //测试强制转换
 55         int a = -100;
 56         char b = (char)a;
 57         System.out.println(b);//?,出现无意义的数
 58         System.out.println("---------------------");
 59         
 60         //表达式中的类型提升问题
 61         int i1 = 3;
 62         long lo = 4;
 63         double dou = 5.3;
 64         //做所有的二元运算符(+-*/%都会有类型提升问题)
 65         int i2 = (int)(lo+dou);
 66         float f1 = (float)(i1+lo);
 67         
 68         int money = 1000000000;//10亿
 69         int years = 20;
 70         //long total = (long)(money*years);//返回的是负数,超过其表示数值范围,要先进行类型转换
 71         long total = (long)money * years;
 72         System.out.println(total);
 73         System.out.println("---------------------");
 74         
 75         //一个人70年心跳多少次
 76         long times = 70L*60*24*366*70*60;//最好将long类型放在最前面,以防前面的数相乘容易溢出
 77         System.out.println(times);
 78         
 79         //JDK7新特性:下划线分隔符
 80         int i3 = 0b0000_0000_0000_0011;//3,如果没有0b,则是八进制数9
 81         int i4 = 1_1234_1234;//112341234
 82         System.out.println(i3);
 83         System.out.println(i4);
 84         
 85         //Java语言支持如下运算符:
 86         /*算术运算符:+、-、*、/、%、++、--、
 87          *赋值运算符:=
 88          *关系运算符:>、<、>=、<=、==、!=、instanceof
 89          *逻辑运算符:&&、||、!
 90          *位运算符:&、|、^、~、>>、<<、>>>
 91          *条件运算符:?:
 92          *扩展赋值运算符:+=、-=、*=、/=
 93         */
 94         
 95       //debug调试
 96       /**
 97        * 控制语句:顺序、选择、循环
 98        * if语句、if/else语句、switch/case/default语句
 99        * JDK1.7新特性:switch case:"字符串"可以编写
100        */
101         double d = Math.random();
102         int e =1 + (int)(d*6);//强制转换的数结果取整数部分
103         System.out.println(e);
104         if(e > 3) {
105             System.out.println("大象!");
106         } else {
107         System.out.println("丽丽");
108         }
109     }
110 }

 

以上是关于我的Java知识复习回顾笔记的主要内容,如果未能解决你的问题,请参考以下文章

Java容器(ListSetMap)知识点快速复习手册(下)

Java 基础知识 复习笔记

Java容器(ListSetMap)知识点快速复习手册(上)

Java基础知识回顾之七 ----- 总结篇

Java基础知识回顾之七 ----- 总结篇

Android学习笔记 JAVA基础知识回顾