文章目錄
集成開發環境
IDEA是一個專門針對Java的集成開發工具(IDE),由Java語言編寫。所以,需要有JRE運行環境並配置好環境變量。它可以極大地提升我們的開發效率。可以自動編譯,檢查錯誤。
創建項目
創建項目-創建模塊-創建包-創建類
(1)創建一個工程
(2)jdk版本我這裏是1.7的
(3)我命名爲java_Web
(4)創建一個Module
我命名爲day01
(5)創建包和類
編寫程序
Java第一個程序
package com.baidu.demo01;
public class Hello {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
運算符
1,算數運算符
+,-,*,/,%,++,–。
package com.baidu.yunsuanfu;
public class Demo {
public static void main(String[] args) {
int a=10;
System.out.println("a:"+a);
int b=++a;
int c=a++;
System.out.println(b);
System.out.println(c);
}
}
2,關係運算符
!=,+=,-=,*=,/=,==,>,<,>=,<=
package com.baidu.yunsuanfu;
public class Demo {
public static void main(String[] args) {
int a=10;
a+=20;
System.out.println(a);
System.out.println("------------------------------");
short b=5;
b+=5;
System.out.println(b);
System.out.println("------------------------------");
int d=10;
int c=20;
System.out.println(d = c);
System.out.println("------------------------------");
int x=10;
int y=20;
int z=30;
System.out.println(x == y);
System.out.println(x >= y);
System.out.println(x <= y);
}
}
3,邏輯運算符
& ,| ,&& ,^,!
package com.baidu.yunsuanfu;
public class Demo {
public static void main(String[] args) {
int a=3;
int b=4;
int c=5;
//&結果中有false 則false
System.out.println(a>b&(a>c));//false & false
System.out.println("-------------------------");
//|只有結果有true 則true
System.out.println((a>b)|(a>c));//false | false
System.out.println("-------------------------");
//^相同爲false, 不同爲true
System.out.println((a>b)^(a>c));//false ^ false
System.out.println("-------------------------");
//!取反
System.out.println((a>b));//false ----> true
System.out.println("-------------------------");
//&&有false則false 有短路效果
System.out.println((a>b)&&(a>c));//false && false
System.out.println("-------------------------");
//||有true則true
System.out.println((a>b)||(a>c));//false && false
}
}
4,三元運算符
關係表達式?表達式1:表達式2
package com.baidu.yunsuanfu;
public class Demo {
public static void main(String[] args) {
int a=2;
int b=3;
int max=(a>b)?a:b;
System.out.println("a和b之間的最大值是:"+max);
}
}
5,小練習
int a=10,b=9;計算(–a!=b++)?–a:++b;的值
package com.baidu.yunsuanfu;
public class Demo {
public static void main(String[] args) {
int a=10,b=9;
int c=(--a!=b++)?--a:++b;
System.out.println(c);
}
}
控制檯輸入
1,導包
在類的上面添加 import java.util.Scanner;
2,創建對象
Scanner sc=new Scanner(System.in);
3,接受數據
int x = sc.nextInt();
double d = sc.nextDouble();
String s = sc.next()
4,小練習
從控制檯輸入一個數,判斷這個數是偶數還是奇數,輸出結果。
package com.baidu.yunsuanfu;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
//創建鍵盤錄入對象
Scanner sc =new Scanner(System.in);
System.out.println("請輸入一個數");
int a=sc.nextInt();
String s=a%2==0?"偶數":"奇數";
System.out.println(s);
}
}
IDEA的常用快捷鍵
Alt+Enter導入包,自動慘正代碼
Ctrl+Y刪除光標所在行
Ctrl+D複製光標所在行的內容,插入光標位置下面
ctrl+Alt+L格式化代碼
Ctr1+/單行註釋
Ctrl+Shift+/選中代碼註釋,多行註釋,再按取消註釋
Alt+Ins自動生成代碼, toString。get。set等方法
Alt+Shift+.上下箭頭移動當前代碼行
Alt+l 打開或關閉項目菜單
ctrl + alt + insert創建包創建類
ctrl + shift +回車切換到代碼中
流程控制語句
1,流程控制語句概述
在一個程序執行的過程中,各條語句的執行順序對程序的結果是有直接影響的。也就是說程序的流程對運行結果有直接的影響。所以,我們必須清楚每條語句的執行流程。而且,很多時候我們要通過控制語句的執行順序來實現我們要完成的功能。
2,流程控制語句分類
(1) 順序結構
(2)選擇結構
(3)循環結構
順序結構
1,順序結構概述
是程序中最簡單最基本的流程控制,沒有特定的語法結構,按照代碼的先後順序,依次執行,程序中大多數的代碼都是這樣執行的。
2,執行流程圖
選擇結構
1,選擇結構,也被稱爲分支結構。
2,Java中的兩種選擇結構語句
(1) if語句
( 2)switch語句
if語句
1,if語句的格式有三種
(1)if語句第一種格式:
if(關係表達式) {
語句體;
}
a,執行流程
首先判斷關係表達式看其結果是true還是false,如果是true就執行語句體,如果是false就不執行語句體。
b,執行流程圖
(2)if語句第二種格式:
if(關係表達式) {
語句體1;
}else {
語句體2;
}
a,執行流程
首先判斷關係表達式看其結果是true還是false,如果是true就執行語句體1,如果是false就執行語句體2。
b,執行流程圖
(3),if語句第三種格式:
if(關係表達式1) {
語句體1;
}else if (關係表達式2) {
語句體2;
}
……….
else {
語句體n+1;
}
a,執行流程
首先判斷關係表達式1看其結果是true還是false,如果是true就執行語句體1,如果是false就繼續判斷關係表達式2看其結果是true還是false,如果是true就執行語句體2,如果是false就繼續判斷關係表達式…看其結果是true還是false如果…,沒有任何關係表達式爲true,就執行語句體n+1。
b,執行流程圖
小練習
根據分數輸出對應級別
90-100 優秀
80-90 好
70-80 良
60-70 及格
60以下 不及格
package com.baidu.Demo;
import java.util.Scanner;
public class IfTest {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("請輸入分數");
int score=sc.nextInt();
if(score>=90&&score<=100){
System.out.println("優秀");
}else if (score>=80&&score<=90){
System.out.println("好");
}else if(score>=70&&score<=80){
System.out.println("良");
}else if(score>=60&&score<=70){
System.out.println("及格");
}else if(score<0||score>100){
System.out.println("成績不合法");
}else {
System.out.println("不及格");
}
}
}
switch語句
1,switch語句格式:
switch(表達式) {
case 值1:
語句體1;
break;
case 值2:
語句體2;
break;
……….
default:
語句體n+1;
break;
}
2,執行流程
首先計算出表達式的值其次,和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結束。 最後,如果所有的case都和表達式的值不匹配,就會執行default語句體部分,然後程序結束掉。
3,,執行流程圖
循環結構
1,循環語句的組成
a,初始化語句:一條或者多條語句,這些語句完成一些初始化操作。
b,判斷條件語句:boolean 表達式,這個表達式能決定是否執行循環體。
c,循環體語句:這個部分是循環體語句,也就是我們要多次做的事情。
d,控制條件語句:這個部分在一次循環體結束後,下一次循環判斷條件執行前執行。通過用於控制循環條件中的變量,使得循環在合適的時候結束。
2,Java提供了三種循環結構語句:
for,while,do…while
for循環語句
1,for循環語句格式:
for(初始化語句;判斷條件語句;控制條件語句) {
循環體語句;
}
2,執行流程
執行初始化語句,執行判斷條件語句,看其結果是true還是false,如果是false,循環結束。如果是true,繼續執行。執行循環體語句,執行控制條件語句,回到B繼續。
3,執行流程圖
小練習
在控制檯輸出所有的”水仙花數”
水仙花數是一個三位數,(個位個位個位)+(十位十位十位)+(百位百位百位)=這個數本身,舉例:153 = (111)+(555)+(333) 153這個數就是典型的水仙花數
package com.baidu.Demo;
public class ForDemo {
public static void main(String[] args) {
int x,y,z,num=0;
for(int i=1;i<999;i++){
x=i/100;
y=i/10%10;
z=i%10;
if(i==(x*x*x)+(y*y*y)+(z*z*z)) {
System.out.println(+i);
}
}
}
}
while循環語句
1,while循環語句格式
while(判斷條件語句) {
循環體語句;
}
2,執行流程圖
小練習
使用while循環求出1-100數據之和
package com.baidu.Demo;
public class While {
public static void main(String[] args) {
int i=1;
int sum=0;
while (i<=100){
sum+=i;
i++;
}
System.out.println("1-100的數據和:"+sum);
}
}
do…while循環語句
1.do…while循環語句格式:
1.1基本格式
do {
循環體語句;
}while((判斷條件語句);
2,執行流程圖
break和continue
1,break的使用場景:
(1)在選擇結構switch語句中
(2)在循環語句中
(3)break的作用:跳出單層循環
2,continue的使用場景:
(1)在循環語句中
(2)continue的作用: 退出本次循環
三種循環的區別
do…while循環至少會執行一次循環體。
for循環和while循環只有在條件成立的時候纔會去執行循環體
for循環語句和while循環語句的區別:
使用區別:控制條件語句所控制的那個變量,在for循環結束後,就不能再被訪問到了,而while循環結束還可以繼續使用,如果你想繼續使用,就用while,否則推薦使用for。
原因是for循環結束,該變量就從內存中消失,能夠提高內存的使用效率。