摘要:短路與短路或在包下繼續(xù)新建一個(gè)類,在方法中定義三個(gè)類型的變量,任意賦值,判斷與的關(guān)系是大于時(shí)的結(jié)果,小于時(shí)的結(jié)果,等于時(shí)的結(jié)果,將三個(gè)結(jié)果賦值給一個(gè)變量,并打印輸出每一個(gè)結(jié)果。
面向過程的編程
1. java中的元素
關(guān)鍵字:編程已經(jīng)規(guī)定好的單詞或詞組
標(biāo)識(shí)符:自定義取名(不能使用關(guān)鍵字);只能由英文大小寫、數(shù)字、美元符號(hào);且數(shù)字不能開頭
變量:會(huì)改變的量
常量:不變的量、恒定
注釋:?jiǎn)涡凶⑨?kbd>/開始 + /結(jié)尾 ;多行注釋/ 開始 + /結(jié)尾;文檔注釋/** 開始 + /結(jié)尾
2.命名規(guī)范(見名知義):
創(chuàng)建工程,工程名:==英文 + 版本號(hào)== ;如:Tank_V1.0
在src下創(chuàng)建包,包名:==由一個(gè)單詞構(gòu)成,全部小寫== ;如:com.公司名.test
創(chuàng)建類Class(java文件),類名:==首字母一定要大寫== ;如:TestOne
創(chuàng)建方法,方法名:==第一個(gè)單詞的首字母一定要小寫,遵循駝峰命名法== ;如:mainTest
mian方法:__java的程序入口__
定義變量,變量名:==第一個(gè)單詞的首字母一定要小寫,遵循駝峰命名法== ;如:resOne
定義常量,常量名:==全部大寫,由多個(gè)單詞構(gòu)成用下劃線隔開== ;如:HOW_ARE_YOU
3.數(shù)據(jù)類型
編程的本質(zhì):各種數(shù)據(jù)的存儲(chǔ)和運(yùn)算
電腦最小的存儲(chǔ)單位:bit位
1字節(jié) = 8位
1個(gè)字符 = 2字節(jié)
1KB = 1024字節(jié)
1MB = 1024KB
基本數(shù)據(jù)類型
數(shù)字類型
類型 | 寫法 | 型 | 占位 | 取值范圍 | 例子 |
---|---|---|---|---|---|
整數(shù) | byte | 字節(jié)型 | 8位 | -128~127 | |
short | 短整型 | 16位 | ±30000 | ||
int | 整型 | 32位 | ±20億左右 | ||
long | 長(zhǎng)整型 | 64位 | ±2^10^ | ||
小數(shù) | float | 單精度浮點(diǎn)型 | 32位 | ±3.4*10^38^ | |
double | 雙精度浮點(diǎn)型 | 64位 | ±1.7*10^303^ |
? ? ? ? ●? 文字類型
類型 | 寫法 | 型 | 占位 | 取值范圍 | 例子 |
---|---|---|---|---|---|
字符型 | char | 僅僅表示一個(gè)字符 | 16位 | 0~65535 | "a" "b" "我" |
? ? ? ? ●? 布爾類型
類型 | 寫法 | 取值范圍 | 例子 |
---|---|---|---|
布爾型 | boolean | true/false |
引用數(shù)據(jù)類型(復(fù)合數(shù)據(jù)類型):數(shù)組,類(對(duì)象類型),接口
4. 運(yùn)算符
算數(shù)運(yùn)算符:+ - * / % ++ --
關(guān)系運(yùn)算符:> < >= <= == !=
邏輯運(yùn)算符:短路與&& 短路或|| ;與& 或| ;非??;==(短路運(yùn)算結(jié)果相同、效率不同,短路更高)==
賦值運(yùn)算符:= += -= *= /= %= 如:a+=b → a=a+b
字符串拼接運(yùn)算符:字符串和其他的數(shù)據(jù)進(jìn)行拼接 結(jié)果還是一個(gè)字符串 String
位運(yùn)算(了解):把數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制的數(shù):>> 右移、 << 左移 、>>>無符號(hào)右移、& 、|、!、^ 異或、~取反
三元運(yùn)算符: 格式:==(判斷式)?a:b== 如果判斷式為true,則返回a的值,否則返回b的值
定義變量:數(shù)據(jù)類型 取個(gè)名字 = 值;
兩個(gè)整數(shù)進(jìn)行運(yùn)算,結(jié)果一定是 ==整數(shù)==,如果想要出現(xiàn)小數(shù),其中一個(gè)變量是 ==小數(shù)類型double==
在混合運(yùn)算中:char byte short → int → long → float → double
強(qiáng)制轉(zhuǎn)換類型:(想轉(zhuǎn)的類型)數(shù)據(jù)
練習(xí)1.新建一個(gè)JAVA工程HelloJava,創(chuàng)建一個(gè)test包,新建一個(gè)FristDemo類,寫一個(gè)main方法,定義兩個(gè)int 類型的變量 a 和 b ,分別打印輸出a與b的‘加/減/乘/除/取余’的結(jié)果。
package test; public class FristDemo { public static void main(String[] args){ int a = 4; int b = 2; System.out.println("a+b="+(a+b)); System.out.println("a-b="+(a-b)); System.out.println("a*b="+(a*b)); System.out.println("a/b="+(a/b)); } }
2.在test包下繼續(xù)創(chuàng)建一個(gè)SecondDemo類,寫一個(gè)main方法,定義一個(gè)int類型的變量 i ,輸出這個(gè)變量的3次方的結(jié)果。
package test; public class SecondDemo { public static void main(String[] args) { int i = 2; System.out.println("i的三次方=" + ((int)Math.pow(i,3))); } }
3.在test包下繼續(xù)創(chuàng)建一個(gè)ThirdDemo類,寫一個(gè)main方法,定義兩個(gè)double類型的變量df和ds,分別將他們的‘加/減/乘/除的結(jié)果賦值給一個(gè)新的變量res,并打印輸出每一個(gè)結(jié)果。
package test; public class ThirdDemo { public static void main(String[] args){ double df = 3; double ds = 6; double res = df+ds; System.out.println("df+ds="+res); res = df-ds; System.out.println("df-ds="+res); res = df*ds; System.out.println("df*ds="+res); res = df/ds; System.out.println("df/ds="+res); } }
4.新建一個(gè)工程MyProject,創(chuàng)建一個(gè)demo包,新建一個(gè)TestOne類,在main方法中定義兩個(gè)boolean 類型的變量flag和mark ,將他們的“短路與”和“短路或”的邏輯運(yùn)算結(jié)果賦值給新的變量result,并打印輸出這兩個(gè)結(jié)果。
package demo; public class TestOne { public static void main(String[] args){ boolean flag= false; boolean mark= true; boolean result = flag && mark; System.out.println("短路與:"+result); result = flag || mark; System.out.println("短路或:"+result); } }
5.在demo包下繼續(xù)新建一個(gè)TestTwo類,在main方法中定義三個(gè)int類型的變量 x y z,任意賦值,判斷(x+y)與 z 的關(guān)系是“大于”時(shí)的結(jié)果,“小于”時(shí)的結(jié)果,“等于”時(shí)的結(jié)果,將三個(gè)結(jié)果賦值給一個(gè)變量res,并打印輸出每一個(gè)結(jié)果。
package demo; public class TestTwo { public static void main(String[] args) { int x = 1; int y = 2; int z = 5; boolean res ; res = (x+y)>z?true:false; System.out.println("(x+y)>z為:"+res); res = (x+y)6.在demo包下繼續(xù)新建一個(gè)TestThree類,在main方法中定義三個(gè) int類型變量 x, y, z,求出三個(gè)數(shù)中最小的那個(gè)數(shù)是多少,打印輸出。(用三元運(yùn)算符)。
package demo; public class TestThree { public static void main(String[] args){ int x = 3; int y = 1; int z = 2; int min1 = x7.在MyProject這個(gè)工程中創(chuàng)建一個(gè)hello包,新建一個(gè)TestSwap類,在main方法中任意定義兩個(gè)int類型的變量a=13和b=7,交換a和b的值,并打印交換后的結(jié)果(兩種方法)
package hello; public class TestSwap { public static void main(String[] args) { int a = 13; int b = 7; // 第一種 int z; z = a; a = b; b = z; System.out.println("第一種:交換后a=" + a + " " + "b=" + b); // 第二種 int temp = a + b; a = temp - b; b = temp - a; System.out.println("第二種:交換后a=" + a + " " + "b=" + b); // 第三種 swap(a, b); System.out.println("第三種:交換后a=" + a + " " + "b=" + b); } public static void swap(int a, int b) { a = 13; b = 7; } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/75272.html
摘要:最終形成可以被虛擬機(jī)最直接使用的類型的過程就是虛擬機(jī)的類加載機(jī)制。即重寫一個(gè)類加載器的方法驗(yàn)證驗(yàn)證是連接階段的第一步,這一階段的目的是為了確保文件的字節(jié)流中包含的信息符合當(dāng)前虛擬機(jī)的要求,并且不會(huì)危害虛擬機(jī)自身的安全。 《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第二版》讀書筆記與常見相關(guān)面試題總結(jié) 本節(jié)常見面試題(推薦帶著問題閱讀,問題答案在文中都有提到): 簡(jiǎn)單說說類加載過...
摘要:一類加載的過程虛擬機(jī)加載類主要有五個(gè)過程加載驗(yàn)證準(zhǔn)備解析和初始化。初始化在虛擬機(jī)中嚴(yán)格規(guī)定需要對(duì)類進(jìn)行初始化的,有下面五種情況遇到,,或者這條字節(jié)碼指令時(shí)。 在這本書里面,在講到類初始化的五種情況時(shí),提及了一個(gè)比較有趣的事情。先來看看下面的代碼 public class SubClass { static{ System.err.println(I m your...
摘要:當(dāng)你在程序中對(duì)象時(shí),有沒有考慮過是如何把靜態(tài)的字節(jié)碼轉(zhuǎn)化為運(yùn)行時(shí)對(duì)象的呢,這個(gè)問題看似簡(jiǎn)單,但清楚的同學(xué)相信也不會(huì)太多,這篇文章首先介紹類初始化的機(jī)制,然后給出幾個(gè)易出錯(cuò)的實(shí)例來分析,幫助大家更好理解這個(gè)知識(shí)點(diǎn)。 當(dāng)你在 Java 程序中new對(duì)象時(shí),有沒有考慮過 JVM 是如何把靜態(tài)的字節(jié)碼(byte code)轉(zhuǎn)化為運(yùn)行時(shí)對(duì)象的呢,這個(gè)問題看似簡(jiǎn)單,但清楚的同學(xué)相信也不會(huì)太多,這篇...
摘要:在加載階段,虛擬機(jī)要完成件事情通過一個(gè)類的全限定名來獲取定義此類的二進(jìn)制字節(jié)流。前面的階段中,除了加載的時(shí)候,可以由用戶指定自定義類加載器之外,別的都是由虛擬機(jī)主導(dǎo)控制。 java類加載機(jī)制 代碼編譯的結(jié)果從本地機(jī)器碼轉(zhuǎn)變?yōu)樽止?jié)碼,是存儲(chǔ)格式發(fā)展的一小步,確實(shí)編程語(yǔ)言發(fā)展的一大步 虛擬機(jī)把描述類的數(shù)據(jù)從class文件加載到內(nèi)存,并對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)、轉(zhuǎn)換解析和初始化,最終形成可以被虛擬機(jī)直...
摘要:這個(gè)階段虛擬機(jī)會(huì)保證父類的方法會(huì)在子類的方法前執(zhí)行,而且在多線程環(huán)境中,虛擬機(jī)會(huì)保證方法的同步。 一個(gè)類從加載到虛擬機(jī)到使用結(jié)束從虛擬機(jī)卸載包括了加載、驗(yàn)證、準(zhǔn)備、解析、初始化、使用、卸載,即為一個(gè)類的生命周期 showImg(https://segmentfault.com/img/bVblADo?w=627&h=223);下面來看一下類加載的過程,即加載、驗(yàn)證、準(zhǔn)備、解析、初始化5...
閱讀 770·2021-11-23 09:51
閱讀 2476·2021-10-11 11:10
閱讀 1351·2021-09-23 11:21
閱讀 1119·2021-09-10 10:50
閱讀 916·2019-08-30 15:54
閱讀 3357·2019-08-30 15:53
閱讀 3316·2019-08-30 15:53
閱讀 3223·2019-08-29 17:23