日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第3章基本程序设计结构(java知识点笔记)

發(fā)布時間:2023/12/18 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第3章基本程序设计结构(java知识点笔记) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

javac JDK;

jdk-->x.java--->x.class;

JRE-->x.class--->翻譯給操作系統(tǒng)。

例如:命令javac Test.java就是按照上述操作順序編譯出Test.class;然后用Java Test翻譯Test.class文件給操作系統(tǒng)

Java SE是最原始的Java功能;Java EE是Java用于網(wǎng)站方面的開發(fā);JavaME是Java用于安卓方面的開發(fā)。

類(class)用大駝峰命名法,首字母大寫,小駝峰命名法,首字母要小寫,其他的大寫常用語文件名、變量名和方法名。

數(shù)據(jù)類型:

整型

int 32bit;short 16bit;long 64bit;byte 8bit

取值范圍

int:-2^31~2^31-1

short:-2^15~2^15-1

浮點(diǎn)型

float 類型的有效位是6、7位,有效位是從第一個不為0的數(shù)開始,往后的都是有效位

由此可以看出,float類型的數(shù)精度并不是很高。當(dāng)data趨于0是精度越高,反之精度越低,呈現(xiàn)指數(shù)級下降。雖然int和float類型都占32位,但是不能說float類型的精度就比int類型高。

char-根據(jù)編碼決定 Unicode/GBK 16bit UTF-8 16-32bit

boolean-32bit ----boolean類型有兩個值TRUE和FALSE,用來判斷邏輯條件,同時整型值和布爾值之間不可以相互轉(zhuǎn)化。

進(jìn)制在計(jì)算機(jī)中的編寫形式:

int y1=ob1101010二進(jìn)制;

inty1=074556 八進(jìn)制;

int y3=oxad5659十六進(jìn)制;

進(jìn)制轉(zhuǎn)換:

1、十進(jìn)制轉(zhuǎn)m進(jìn)制,就是除m求余,直到商為0.

2、N進(jìn)制1后面有幾個0就是N^m:

int 456 = 256+128+64+8 =11101000;

float 1 : 8 : 23

??? 0 ? ???????? 00000000 ? ? ?? 00000000000000000000000

符號位??? ??????? 階碼 x ?????????????????????? 數(shù)值y

計(jì)算公式:float(2^(x-127))*y

double 1:11:52 (2^(x-1024))*y

所有的編碼都是ASCII編碼,ASCII編碼在其他編碼中數(shù)值是不變的,但是所占的位數(shù)是不同在ASCII中占8位,在Unicode中就占16位。

碼點(diǎn):是指一個編碼表中某個字符對應(yīng)的代碼值

代碼單元:存儲單位16bit,每個字符用16位表示

高速緩存的基準(zhǔn)單元是64B,每個緩存行都有一個主線相連。

在Java中聲明的數(shù)據(jù)要大一點(diǎn),增大boolean減少排隊(duì)數(shù)據(jù)的個數(shù),減少堵塞概率。

變量:

除了8大基本類型其余的都是引用類型,基本類型的數(shù)組,也是引用類型(基本類型和引用類型的區(qū)別在后面會寫到)

常量:

在Java中利用final來指示常量,表示這個變量只能被賦值一次,一旦被賦值就無法修改;常量名使用全大寫。

重點(diǎn):final的作用

1、final m1=90;定義的常量,且不可以修改

2、final修飾的類不可被繼承

3、final修飾的方法不可以被重寫

4、final防止多程序下的指令重排序,保障線程的安全

使用Math類中的方法

1、Math.方法

2、在文件的開頭加上

import static java.lang.Math.*;

就可以直接使用Math類中的方法。

常見的Math類中的方法:

?Math.sqrt() 根號

Math.pow(x,a);x^a

強(qiáng)制類型轉(zhuǎn)換:

int x2=20000000000; byte b1 =(byte)x2;

結(jié)果只會保留最右側(cè)的位數(shù),左側(cè)的位數(shù)都會舍棄,導(dǎo)致精度大程度降低。

二進(jìn)制移位:

int b=a<<3;//a*2^3 int c=b<<3;//b/2^3; int c=a>b?10:20;//如果a>b成立c=10,否則c=20

自增:

int m=7;

int a=2*++m;//現(xiàn)在a=16,m=8

int b=2*m++;//b=14,m=8

三元操作符:

?:

x<y?x:y;//如果x<y則x否則y

字符串:

new

new:表示的是重新開辟一個新的空間

String a =new String("aaa");

---------

String a =“aaaa";

String b =“aaaa";

a==b;//為TRUE,因?yàn)樗麄円玫氖峭粋€地址的值

String c =new String("aaa");

String d =new String("aaa");

c==d;//為FALSE,因?yàn)閚ew是新開辟的空間,所以c和d 的引用地址是不同的。

1、獲取子串

substring()方法

String aa="dashsjdhaus"; String b=aa.substring(2,4);//前閉后開[2,4)2、3

2、拼接

String expletive = "Expletive"; String PC13 = "deleted"; String message = expletive + PC13; // String all = String.join("/","s","m");

3、不可變字符串:

不能再原地址上修改,是因?yàn)樵刂房臻g是固定的,如果后來的數(shù)據(jù)可能過大。修改完之后,原地址的數(shù)據(jù)就會被拋棄;實(shí)際上是被標(biāo)記為無效,等下一次使用該地址時直接被覆蓋。

4、檢測字符串是否相等

引用類型==引用類型 表示兩個引用類型,引用的地址是同一個地址的數(shù)據(jù),是同一個就返回TRUE,不是返回FALSE

a、c為兩個字符串(引用類型)a==c比較的是兩個字符串所存儲的地址是否相同,a.equals(c)是比較兩個值是否相等。

使用equals()方法判斷字符串是否相等

“hello”.equals("hello"); “hello”.equalslgnoreCase("hello");//不區(qū)分大小寫

空串和Null串

Strring a=“”;//空串

String b =Null;//Null串

判斷一個字符串既不是空串也不是null串

if(str != null && str.length() !=0);

字符串的其他方法

char x=a.charAt(int index);//獲取指定索引位置的字符

int x2=a.codePointAt(int index);//獲取指定索引位置的編碼值

boolear? x3 =a.startsWith(String prefix);//字符串a(chǎn)是否以? 開頭,是返回TRUE

int x4=a.indexOf("字符串");//包含字符串,返回索引值>0,不包含返回-1;

st1 =a.replace("sd","=");//用“=”替換a中的“sd”。

String[] arr=a.split("s");//用字符s對a字符串進(jìn)行切割,返回?cái)?shù)組

int all =a.lenth();//返回?cái)?shù)組a 的長度

{long start=System.currentTimeMillis();//獲取當(dāng)前毫秒數(shù)

long end=System.currentTimeMillis();//獲取當(dāng)前毫秒數(shù)

num= (end - start);//返回花費(fèi)的毫秒數(shù)}

StringBuilder b=new StringBuilder();

for(int i= 0;i<1000;i++){b.append(" "+i);}//因?yàn)閎是StringBuilder類型的字符,花費(fèi)時間很小。

char b1=a.charAt();//獲取指定位置的字符int b2=a.codePointAt();//獲取指定字符的編碼boolean b3=a.startsWith("");//是否以該字母開頭boolean b3=a.endsWith("");//是否以該字母結(jié)尾int indexOf("");//是否包含該字符串st1 = st1.replace("ad","+");//替換String[] arr = st1.split("");//分裂 for(String s:arr){ System.out.println(s); }int l1=st1.length();//記錄字符長度String a="";StringBuilder b =new StringBuilder();long start=System.currentTimeMillis();for(int i=0;i<10000;i++){//a +=1;b.append("" + i); }String b=b.toString();long endtime=System.currentTimeMillis();System.out.println("總花費(fèi)時間是:"+(endtime - start)+"毫秒數(shù)"); b.append(""+i);//拼接功能

5、String,StringBuilder,StringBuffer的區(qū)別

String aa=new String aa();//一個字符占一頁

StringBuilder aa=new StringBuilder aa();//一開始申請的空間很大,不需要換頁存儲,運(yùn)行速度快。

StringBulider和StringBuffer分配空間的方式是一樣的,不同的是StringBuffer是內(nèi)部加鎖,在多線程下是安全的,StringBuiilder在多線程下是不安全的。

輸入輸出:

1、讀取輸入

System in = new Scanner(System.in);

int num = in.nextInt();//輸入?yún)?shù),這句話在代碼中出現(xiàn)幾次,就會等待輸入幾次

import java.uitl.*;//這是運(yùn)行Arrays類的前提 .... System.out.println("請輸入數(shù)組大小"); Scanner aaa=new Scanner(System.in); int num = aaa.nextInt(); int[] arr=new int[num]; System.ouy.println("請向數(shù)組中添加數(shù)據(jù)");for(int i=0;i<num;i++){arr[i]=aaa.nextInt(); } System.out.println(Arrays.toString(arr));

2、格式化輸出

System.out.print(x);直接輸出x;

System.out.printf("%8.2f",x);打印出用8個字符的寬度和小數(shù)點(diǎn)等候兩個字符的精度的x。

在printf中可以打印多個參數(shù),

?Switch循環(huán)語句:

Scanner in =new Scanner(System.in); int choice=in.nextInt(); Switch(choice) {case 1:....;break; case 2:....;break; case 3:....;break; default :System.out.println();return; }

每一個case要對應(yīng)一個break否則就會直接執(zhí)行下一個case,引發(fā)錯誤。

設(shè)計(jì)一個計(jì)算器

public class Test{ public static void main(String[] aaaa){System.out.println("歡迎使用百望山計(jì)算器,請選擇計(jì)算類型數(shù)字:");System.out.println("1-加法: 2-減法: 3-乘法: 4-除法:");System.out.println("請輸入計(jì)算類型:");Scanner aa= new Scanner(System.in);int flagtype =aa.nextInt();switch(flagtype){case 1:System.out.println("您選擇的是加法計(jì)算:");break;case 2:System.out.println("您選擇的是減法計(jì)算:");break;case 3:System.out.println("您選擇的是乘法法計(jì)算:");break;case 4:System.out.println("您選擇的是除法法計(jì)算:");break;default:System.out.println("您選擇的是非法計(jì)算,請重新開始:");break;}System.out.println("請輸入要計(jì)算的兩個數(shù)字:");int num1=aa.nextInt();int num2=aa.nextInt();System.out.println("新輸入的兩個數(shù)字是:" + num1 +","+num2);if(flagtype ==1){System.out.println("最終的計(jì)算結(jié)果是:" + (num1 + num2));}else if(flagtype ==2){System.out.println("最終的計(jì)算結(jié)果是:" + (num1 - num2));}else if(flagtype ==3){System.out.println("最終的計(jì)算結(jié)果是:" + (num1 * num2));}else {System.out.println("最終的計(jì)算結(jié)果是:" + (num1 / num2));}}} }

for each 循環(huán)

for (variable : collection) statement

collectiom這一集合表達(dá)式必須是一個數(shù)組或者是一個實(shí)現(xiàn)Iterable接口的類對象
?

for(int x:arr)System.out.println(x);

大數(shù)值:

java.math包中有兩個很有用的類BigInteger和BigDecima;BigInteger實(shí)現(xiàn)任意精度的整數(shù)運(yùn)算;BigDecimal實(shí)現(xiàn)任意精度的浮點(diǎn)數(shù)運(yùn)算。

使用靜態(tài)的valueOf方法可以將普通的數(shù)值轉(zhuǎn)換為大數(shù)值,

BigInteger a=BigInteger.valueOf(100);

BigInteger c=a.add(b);//c=a+b;

BigInteger d=c.multiply(b.add(BigInteger.valueOf(2)));//c*(b+2)

BigDecimal同BigInteger用法一樣

數(shù)組:

int num=90;

int[] arr=new int[num];//數(shù)組上來就要確定數(shù)組的大小

1、匿名數(shù)組

new int[]{7,8,9};//初始化一個匿名數(shù)組

smallPrimes=new int[]{7,8,9};

2、Arrays類的使用

import java.util.*;

?或者

引用類型數(shù)組,復(fù)制數(shù)組使用Arrays.copy();

算法中常使用的排序函數(shù)Arrays.sort();

總結(jié)

以上是生活随笔為你收集整理的第3章基本程序设计结构(java知识点笔记)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 超碰人人国产 | 性欧美视频在线观看 | 另类专区欧美 | 8x8ⅹ国产精品一区二区 | 高清国产一区二区三区 | 大白屁股一区二区视频 | 野花视频在线观看免费 | 成人小视频在线播放 | 久久久无码人妻精品无码 | 午夜影院91 | 久久久18禁一区二区三区精品 | 麻豆传媒网址 | 男女啪啪无遮挡 | 人人精品视频 | 国产精品色图 | 免费毛片在线 | 性感美女视频一二三 | 91av在线视频播放 | 男人在线网站 | 国产a∨精品一区二区三区仙踪林 | 国产精品1234区 | 日韩一级免费观看 | 亚洲精品乱码久久久久99 | 国产不卡视频一区二区三区 | 国产精品91久久久 | 91欧美视频 | 日本黄网站色大片免费观看 | 日韩乱码一区二区 | 一区二区天堂 | 露脸丨91丨九色露脸 | 黄色片视频播放 | 91在线一区二区三区 | 狠狠的日 | 成人a在线 | 亚洲狼人色 | 日本一区二区三区四区五区 | 日本a在线 | 黄污视频在线观看 | 亚洲在线视频播放 | 午夜精品导航 | 国产嫩草影院久久久久 | 国产又粗又猛又黄又爽无遮挡 | 成人黄色av网站 | 无码aⅴ精品一区二区三区 精品久久在线 | 在线观看视频你懂得 | 麻豆乱码国产一区二区三区 | 精品国产黄色 | 综合在线观看 | 精品无码一区二区三区免费 | 欧美性福利 | 午夜寂寞自拍 | 蜜乳av 懂色av 粉嫩av | 久久r| 国产真实老熟女无套内射 | 噜噜噜av| 日本顶级大片 | 很黄很黄的网站 | 国内外成人在线视频 | 日韩午夜在线播放 | 国产夫妻av | 影音先锋久久久久av综合网成人 | 欧美一级免费黄色片 | 欧美日韩成人精品 | 少妇一级淫免费放 | 久久夜色精品国产噜噜亚洲av | 久久国产精品久久久 | 亚洲激情图 | 亚洲激情一区二区三区 | 久操国产| 精品国精品国产自在久不卡 | 日韩在线 | 精品欧美一区二区三区免费观看 | 欧美成人三级在线视频 | 国产又黄又粗又猛又爽 | 国产毛片不卡 | 日日夜夜操操操 | 欧美日韩一区二区三区免费 | 亚洲天堂日韩在线 | 女人被狂躁c到高潮喷水电影 | 中文在线a在线 | 国产日产亚洲系列最新 | 一本久道在线 | 国产视频一区二区三区四区 | 亚洲一二三区视频 | 中文字幕三级电影 | 91高清免费 | 欧美乱妇狂野欧美在线视频 | 国产欧美一区二区三区白浆喷水 | 青青色在线视频 | 女人裸体又黄 | 亚洲AV无码片久久精品 | 国产在线观看无码免费视频 | 18男女无套免费视频 | 深田咏美在线x99av | 日本va欧美va精品发布 | 性色欲情网站iwww九文堂 | 欧美福利在线视频 | 国产又粗又猛又爽视频 | 亚洲免费网 |