我的Java知识复习回顾笔记
生活随笔
收集整理的這篇文章主要介紹了
我的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 }
?利用Eclipse查看String.class源碼:
1 package com.cn.string; 2 3 public class TestString { 4 5 public static void main(String[] args) { 6 String s = "abcd"; 7 String s1 = s; 8 String s2 = new String("abc"); 9 String s3 = new String("abc");//堆 10 System.out.println(s.charAt(3));//d 11 System.out.println(s.equals(s1));//true 12 System.out.println(s2.equals(s3));//true 13 System.out.println(s2==s3);//false 14 15 String s4 = "abcde"; 16 String s5 = "abcde";//常量池 17 System.out.println(s4.equals(s4));//true 18 System.out.println(s4==s5);//true 19 System.out.println(s4.indexOf('a'));//0 20 String s6 = s5.substring(0,2); 21 System.out.println(s6);//ab 22 String s7 = s4.replace('e' , '*'); 23 System.out.println(s7);//abcd* 24 25 String s8 = "abcd,efgh,ijkl"; 26 String str[] = s8.split(","); 27 for (String string : str) { 28 System.out.println(string); 29 } 30 31 String s9 = " aa bb cc"; 32 String s10 = s9.trim(); 33 System.out.println(s10.length());//9 34 } 35 }?
?
?
?
?
?
轉載于:https://www.cnblogs.com/xiaoxiaoyisheng/p/7426888.html
總結
以上是生活随笔為你收集整理的我的Java知识复习回顾笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用VNC访问Linux桌面
- 下一篇: 阶乘的两种实现方式