我的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)知识点快速复习手册(下)