平時咱們編寫代碼,在代碼量比較少的時候,咱們還能夠看懂本身寫的,可是當項目結構一旦複雜起來,咱們就須要用到註釋了javascript
註釋並不會被執行,是給咱們寫代碼的人看的html
書寫註釋是一個很是好的習慣java
平時寫代碼必定要注意規範c++
java中註釋有三種:api
單行註釋數組
//我是一個單行註釋 /*我也是單行註釋*/
多行註釋:能夠註釋一段文本安全
/* 我是多行註釋 我是多行註釋 我是多行註釋 我是多行註釋 */
文檔註釋oracle
/**我是文檔註釋 *@Description HelloWorld *@Author 油炸蘑菇魚 * */
String Ahello4="yuyu"; String hello3="yuyu"; String $hello2="yuyu"; String _hello1="yuyu";
要求變量的使用要嚴格符合規定,全部變量都必須先定義後才能使用,如java,c++ide
一旦定義變量爲某個數據類型,若是不進行轉換則一直都是這個數據類型工具
特色:安全性高,速度低
要求變量的使用能夠不符合規定,如javascript
特色:安全性低,速度快
整數類型
浮點類型
float佔4個字節
double佔8個字節
字符類型
//整數 int num1=10;//最經常使用 byte num2=20; short num3=30; long num4=40L;//long類型要在數字後面加L //小數:浮點數 float num5=20.1F;//float類型要在數字後面加F double num6=3.1415926535897932384626433832795028841; //字符 char name='A'; //字符串,String不是關鍵詞是類 //String namea11 ="yuyu"; //布爾值:是 非 boolean flag=true; //boolean flag=false;
位(bit):是計算機內部數據儲存的最小單位,11001100是一個八位二進制
字節(byte):是計算機中數據處理的基本單位,習慣上用大寫B來表示
1B(byte,字節)=8bit(位)
字符:是指計算機中使用的字母、數字、字和符號
類、接口、數組
引用類型是對象是經過引用來操做的:棧------->堆
//整數拓展: 進制 二進制0b 十進制 八進制0 十六進制0x int i=10; int i2=010;//八進制0 int i3=0x10;//十六進制0x 0~9 A~F 16
float f = 0.1f;//o.1 double d = 1.0/10;//0.1 System.out.println(f==d);//false float d1=23212323213123132f; float d2=d1+1; System.out.println(d1==d2);//true //float 有限 離散 會舍入偏差 會接近但不等於 //最好避免使用浮點數進行比較
char c1='a'; char c2='中'; System.out.println(c1);//a System.out.println((int)c1);//強制轉換 97 System.out.println(c2);//中 System.out.println((int)c2);//強制轉換 20013 //全部的字符本質仍是數字 //編碼 Unicode 2字節 0~65536 char c3='\u0061'; System.out.println(c3);//a
全部的字符本質仍是數字
\a | 響鈴(BEL) |
---|---|
\b | 退格(BS) ,將當前位置移到前一列 |
\f | 換頁(FF),將當前位置移到下頁開頭 |
\n | 換行(LF) ,將當前位置移到下一行開頭 |
\r | 回車(CR) ,將當前位置移到本行開頭 |
\t | 水平製表(HT) (跳到下一個TAB位置) |
\v | 垂直製表(VT) |
\ | 表明一個反斜線字符''' |
\ ' | 表明一個單引號(撇號)字符 |
\ " | 表明一個雙引號字符 |
? | 表明一個問號 |
\0 | 空字符(NUL) |
\ddd | 1到3位八進制數所表明的任意字符 |
\xhh | 十六進制所表明的任意字符 |
因爲java是強類型語言,因此要進行有些運算的時候,須要用到類型轉換
運算中,不一樣的類型的數據先轉化爲同一類型,而後進行運算
高--低 (類型)變量名
int i=128; byte b=(byte)i;//內存溢出 System.out.println(i);//128 System.out.println(b);//內存溢出 -128
低--高
int i=128; double b=i; System.out.println(i);//128 System.out.println(b);//128.0
System.out.println((int)23.7);//23 System.out.println((int)-45.89f);//-45
溢出問題:
計算時先把一個數轉換爲新類型能夠避免溢出
//JDK7新特性,數字之間能夠用下劃線分割 int money=10_0000_0000; int years=20; int total=money*years;//-1474836480,計算的時候溢出了 long total2=money*years;//默認是int,轉換以前已經存在問題了 System.out.println(total2);//-1474836480 long total3=money*(long)years;//先把一個數轉換爲long System.out.println(total3);//20000000000
實踐案例:
char c='a'; int d=c+1; System.out.println(d);//98 System.out.println((char)d);//b
變量是什麼:就是能夠變化的量
java是一種強類型語言,每一個變量度必須聲明其類型
java變量是程序中最基本的存儲單元,其要素包括變量名,變量類型和做用域。
char c='a'; int a=1; //不要用如下方式命名 //int a,b,c; //int a=1,b=2,c=3;
注意事項:
public class Demo003 { //類變量 static double salary =2500; //實例變量 String name; int age; //main方法 public static void main(String[] args) { //局部變量 int i=10; //變量類型 變量名字=new Demo003(); Demo003 demo003 = new Demo003(); System.out.println(demo003.age);//0 System.out.println(demo003.name);//null } }
public class Demo004 { //final爲修飾符,能夠在static前或者後,不存在前後順序 static final double PI =3.14; public static void main(String[] args) { System.out.println(PI);//3.14 } }
java語言支持以下運算符:
package operator; public class Demo001 { public static void main(String[] args) { //二元運算符 //Ctrl+D:複製當前行到下一行 int a=10; int b=20; int c=25; int d=25; System.out.println(a+b);//30 System.out.println(a-b);//-10 System.out.println(a*b);//200 System.out.println(a/b);//0 System.out.println(a/(double)b);//0.5 } }
若是有高類型的,則結果爲高類型:
package operator; public class Demo002 { public static void main(String[] args) { long a =123123123123123L; int b = 123; short c =10; byte d=8; System.out.println(a+b+c+d);//Long 123123123123264 System.out.println(b+c+d);//int 141 System.out.println(c+d);//int 18 System.out.println((double) c+d);//double 18.0 } }
public class Demo003 { public static void main(String[] args) { //關係運算符返回的結果:正確,錯誤 布爾值 int a =10; int b =20; System.out.println(a>b);//false System.out.println(a<b);//true System.out.println(a==b);//false System.out.println(a!=b);//true } }
//取餘 模運算 int c = 21; System.out.println(c%a);//c/a 21/10=2....1
public class Demo004 { public static void main(String[] args) { //++ -- 自增 自減 一元運算符 int a=3; int b=a++;//執行完這行代碼後,先給b賦值,再自增 //a=a+1 System.out.println(a);//4 //a++ a=a+1 int c=++a;//執行完這行代碼前,先自增,再給c賦值 System.out.println(a);//5 System.out.println(b);//3 System.out.println(c);//5 } }
//冪運算 2^3 2*2*2=8 不少運算,咱們會使用一些工具類來操做 double pow = Math.pow(3,2); System.out.println(pow);//9.0
public class Demo005 { public static void main(String[] args) { //與(and) 或(or) 非(取反) boolean a=true; boolean b=false; System.out.println("a && b:"+(a&&b));//a && b:false 邏輯與運算:兩個變量都爲真,結果才爲真true System.out.println("a || b:"+(a||b));//a || b:true 邏輯或運算:兩個變量有一個爲真,則結果爲真true System.out.println("!(a && b):"+!(a&&b));//!(a && b):true 若是是真,則變爲假,若是是假,則變爲真 } }
//短路運算 int c=5; boolean d=(c<4)&&(c++<4);//由於c<4爲false,則進行短路運算,邏輯與右邊就沒有進行運算直接輸出結果 System.out.println(c);//5 System.out.println(d);//false
public class Demo006 { public static void main(String[] args) { /* A = 0011 1100 B = 0000 1101 A&B A與B =0000 1100 若是都有1,則寫1,取餘寫0 A|B A或B =0011 1101 若是有1,則寫1 A^B AB異或 =0011 0001 若是兩個位置相同爲0,不然爲1 ~B 非A即B =1111 0010 與B取反 2*8怎麼運算更快 = 16 =2*2*2*2 <<左移 *2 >>右移 /2 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 0000 0100 4 0000 1000 8 0001 0000 16 */ System.out.println(2<<3);//16 } }
public class Demo007 { public static void main(String[] args) { int a = 10; int b = 20; a+=b;//a = a+b 10+20 a-=b;//a = a-b 30-20 a*=b;//a = a*b 10*20 a/=b;//a = a/b 200/20 System.out.println(a);// 10 } }
//字符串鏈接符 + , String System.out.println(""+a+b);//1020 System.out.println(a+b+"");//30 //字符串在前面則後面的int都變爲string,若運算在前則先進行運算
// x ? y : z //若是x==true,則結果爲y,不然結果爲z int score =80; String type = score <60 ?"不及格":"及格"; System.out.println(type);//及格
加()能夠進行優先運算
爲了更好地組織類,Java提供了包機制,用於區別類名的命名空間
包語句的語法格式爲:
package pkg1[. pkg2[. pkg3...]];
你們能夠用com.本身的名字.xxx建立本身的多級包方便管理。
若是新建包發現沒法本身分紅多級包,則在齒輪中取消選擇Compact Middle Packages
爲了可以使用某一個包的成員,咱們須要在Java程序中明確導入該包。使用「import」語句可完成此功能
import package1[.package2...].(calssname|*);
就好比想要用Date,則須要導入Date包,能夠按alt+enter進行補全
注:import 必須在 package下面
import com.shenxiaoyu.base.*;//導入這個包下全部的類
javadoc命令是用來生成本身API文檔的
參數信息
加在類上是類的註釋,加在方法上是方法的註釋
/** * @author shenxiaoyu * @version 1.0 * @since 1.8 */ public class Doc { String name; /** * @author shenxiaoyu * @param name * @return * @throws Exception */ public String test(String name) throws Exception{ return name; } }
找到要生成文檔的文件夾,而後在路徑欄全面加上「cmd空格路徑」而後回車進入命令窗口
在命名窗口輸入javadoc -encoding UTF-8 -charset UTF-8 Doc.java
在當前文件夾下會生成一些文件,點擊index.html能夠查看文檔
在工具欄中找到 Tool,而後再子菜單中找到 Generate JavaDoc
參數值爲:-encoding UTF-8 -charset UTF-8 -windowtitle "test"
這裏我點的whole project,後面的output directory是生成要生成javadoc的文件夾
最後效果: