1.軟件生命週期
軟件定義期
軟件開發期
軟件維護期
2.Java基礎
1. 標識符命名規則
只能由字母,數字,下劃線(_),美元符號($)組成
不能以數開頭
區分大小寫
不能用java關鍵字作爲標識符
2. 分隔符
1、沒有意義的空格符(空格、回車、換行、Tab)
2、擁有確定含義的普通分隔符 大括號{ } 中括號[ ] 分號; 逗號, 冒號:
3. 常量
final關鍵字定義常量
final <data_type> var_name=var_value;
靜態常量: static final 常量名 (伴隨類)
命名規則:全部大寫,多個單詞之間用下劃線連接
例如:final double num = 3.1415;
4. 變量
1、先聲明再使用
<data_type> var_name=var_value;
例如:int num = 2;
Int i,j,k;
2、基本數據類型:
整數類型: byte, short, int ,long
浮點類型:float, double
字符類型:char (一個字符兩個字節)
布爾類型:boolean
public static void main(String[] args) {
//8個基本類型
int a = 1234567891;//整型,32個位,
short b = 23;//短整型,16個位
byte c= 127;//範圍-128 到127,8個位
long d;//長整型,64個位
float e1 = 23.324f;//浮點型,單精度,32個位
float e = (float) 3.2342;//強制類型轉換
double f = 3.123d;//雙精度,小位數更精確,64個位
char g = 'g';//字符型,16個位,char常量用必須包含在單引號內
char g1 = '號';//一個漢字佔兩個字節
boolean h = true;//true 或者false
}
3、引用類型
類(class)
接口(interface)
數組(int[])
枚舉(enum)
註解(annotation)
*String也是引用類型
*引用類型是有地址空間的
4、類型轉換
自動類型轉換
char ->int->long->float->double
byte ->short->int
強制類型轉換
data_type var1 = (data_type)var2;
5、局部變量、全局變量
局部變量:定義在方法體內或者某個程序塊中,生命週期隨着方法(程序塊)消失而失效
在一個確定域中,變量名必須唯一
全部變量:定義在方法體外,生命週期隨着類的消失而失效
當全局變量和局部變量同名時,局部變量優先級更高
5. 運算符
1、算數運算符
取整a/b
取餘a%b
自增a++ 先運算,再加一
++a 先加一,再運算
2、比較運算符
<、>、 >=、<=、==
3、邏輯運算符
與 && , 或 || , 非!
If(邏輯1&&邏輯2)
當邏輯1不成立時候邏輯2不再去執行
If(邏輯1||邏輯2)
當邏輯1 成立時候邏輯2不再去執行
4、賦值運算符
=、+=、-=、/=、%=
5、三元運算符
也叫條件運算符
<表達式> ? e1 : e2
6、運算符的優先級
優先級 | 運算符 |
---|---|
1 | . 、() 、[]、 |
2 | ++、–、!、~、instanceof |
3 | *、/、% |
4 | +、- |
5 | »、>>>、« |
6 | >、<、>=、<= |
7 | ==、!= |
8 | & |
9 | ^ |
10 | && |
11 | ?: |
12 | =、+=、-=、*=、/=、%=、^=、&=、«=、»=、>>>= |
6. 流程語句
分支結構
if-else
兩個分支
if(條件){
表達式
}else{
表達式
}
多分支
if(條件){
表達式
}else if(條件){
表達式
}else{
表達式
}
if 的例子
public static void main(String[] args) {
// 控制檯輸入的數據是奇數還是偶數
// Scanner 控制檯輸入類
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();// 獲取控制檯輸入的整數,next()控制檯輸入的字符串
if (num % 2 == 0) {
System.out.print("這個數是偶數");
} else {
System.out.println("這個數是奇數");
}
}
switch()
switch(){
case ‘value1’
statement1;
break;
case ‘value2’
statement2;
break;
default:
statement3;
break;
*注意要在語句後邊加break
}
switch 的例子
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* a :春季 b :夏季
*/
Scanner sc = new Scanner(System.in);
String string = sc.next();
switch (string) {
case "a":
System.out.println("春季");
break;
case "b":
System.out.println("夏季");
break;
case "c":
System.out.println("秋季");
break;
case "d":
System.out.println("冬季");
break;
default:
System.out.println("輸入不正確");
break;
}
}
循環語句
while
while(條件){
表達式
}
do while
do{
表達式
}while(條件);//至少執行一次
for
for(initialization ; condition ; update){
表達式
}
for的例子
public static void main(String[] args) {
// 10的階乘
/*
* int sum = 1; for(int i = 1;i<11;i++){
* System.out.println(i+"*"+sum+"="+i*sum); sum = sum*i; }
*/
// 99乘法表
/* for (int i = 1; i < 10; i++) {
//轉義字符,都是反斜槓
//\t是製表符
//\n 是換行
for (int j = 1; j <= i; j++) {
System.out.print(i + "*" + j + "=" + i * j + "\t");
}
System.out.println();
}*/
// 打印1-100 之間的不包含7,且不是7的倍數的數
// 取餘取 整數
// for(int i = 1;i<101;i++){
// if(i%7 != 0 && i/10!=7 && i%10 != 7){
// System.out.println(i);
// }
// }
for(int i = 0;i<21;i++){
System.out.print(i+" ");
if(i==12){
break;
}
}
System.out.println();
for(int i = 0;i<10;i++){
System.out.print(i+" ");
if(i%2==0){
continue;
}
System.out.println();
}
}
7. 轉移語句
break
終止循環,如果有多層循環嵌套,只結內層循環
continue
結束本次循環,進行下一次的循環
return
兩種格式
1、 return 表達式;
2、 return;
*當方法的返回值類型爲void的時候也可以有return。
一個方法裏可以有多個return
*注
控制檯輸入類Scanner
Scanner sc = new Scanner(System.in);
sc.nextInt();輸入整數
sc.nextLine();輸入字符串
sc.nextDouble();輸入小數
Random類
Random random = new Random();
random.nextInt();隨機數整數
random.nextInt(int n);返回隨機整數[0 , n)
random.nextDouble();返回隨機小數[0.0 , 1.0)
Math類
Math.max(x,y);返回較大的數
Math.min(x,y);返回較小的數
Math.random();返回隨機數
Math.pow(x,y);返回x的y次冪
Math.abs(x);絕對值
Math.sqrt(x);返回平方根
Math.round(x);四舍五
轉義字符
都是反斜槓,\t是製表符;\n 是換行;\r 是回車