java入門
java誕生程序:1972年誕生c語言,因為指標和記憶體管理復雜,難以移植性,1982年產生了改進后的c++但是還是很復雜,于是在1995年就建立了java語言,
java優點:
-
語法有點像c
-
沒有指標
-
沒有記憶體管理
-
運行在jvm上,實作了真正的一次編譯到處運行
-
面向物件
-
型別安全
……
java三大版本:
- javase:標準版(桌面程式,控制臺……)
- javame:嵌入式開發(手機,家電…… ) 已經淘汰
- javaee:企業級開發(web,服務端……)發展最好
jdk,jre,jvm的關系:
- jdk:java開發環境,包括jre和jvm
- jre:java運行環境,包含jvm,
- jvm:java運行虛擬機,模擬cpu運行java程式,
編譯型和解釋型:
都是翻譯程式的意思,將一種語言翻譯成另一種機器語言,
編譯:編譯成一個位元組碼檔案,保存,
解釋:執行一句翻譯一句,不生成位元組碼檔案,
java基礎
1.注釋,識別符號,關鍵字
注釋:注釋不會被計算機執行,是給編程人員看的,為了方便閱讀代碼,
java中的三種注釋:
單行注釋://
多行注釋:/* ……*/
檔案注釋:/**…… */
/** * @author panglili * @create 2022-07-13-8:36 */ public class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld"); //單行注釋 /* 多行注釋 多行注釋 多行注釋 */ /** * 檔案注釋 * 檔案注釋 */ } }識別符號
java所有的組成部分都是有名字的,如類名,變數名,方法名等都被稱為識別符號,
關鍵字
系統定義的有特殊含義的識別符號,不可再被用戶定義為類名,變數名,方法名……
2.資料型別
java八大型別:
int:4位元組
short:2位元組
byte:1位元組
long:8位元組
以上為整數型別
float:4位元組
double:8位元組
以上為浮點型別
char:2位元組
以上為字符型別
boolean:1
以上為布爾型別
/** * @author panglili * @create 2022-07-13-9:04 */ public class NumType { public static void main(String[] args) { int a=1; byte b=127; String c="123"; long d=1276543223999999999L;//long型別后面加L區別 char e='a'; float f=1.2F;//float型別后面加F double g=2.22; boolean fa=false; boolean tr=true; } }擴展:進制
二進制:0b
十進制:正常
八進制:0
十六進制:0x
int i=0; //十進制 int i0=0b101; //二進制 int i1=077; //八進制 int i2=0xA1; //十六進制浮點數使用小tips:

盡量不要用浮點數進行比較
3.型別轉換
byte,short,char->int->long->float->double
由高位元組到低位元組轉換需要強制型別轉換:可能會產生記憶體溢位或者精度溢位
由低位元組到高位元組轉換會自動型別轉換
/** * @author panglili * @create 2022-07-13-10:02 */ public class TypeTransfer { public static void main(String[] args) { int i=128; byte b=(byte)i; System.out.println(i); //強制轉換,int到byte System.out.println(b); //強制轉換,記憶體溢位 float f=3.14f; System.out.println((int)f);//強制轉換,精度丟失 int a=b; System.out.println(a);//自動轉換,byte到int } }4.變數,常量
變數:java中初始化后依舊可以變化的量,
常量:java中初始化后不可變化的量,使用final定義,
/** * @author panglili * @create 2022-07-13-10:15 */ public class VariableConstant { public static void main(String[] args) { //定義變數賦初值 int a=1; String name="tata"; System.out.println(a); System.out.println(name); //改變變數的值 a=2; name="panglili"; System.out.println(a); System.out.println(name); //常量 final int B=3; // b=4; 報錯不可改變其值 System.out.println(b); } }5.運算子
算術運算子:+,-,*,/,%,++,--……
賦值運算子:+=,=,-=……
關系運算子:>,<,>=……
邏輯運算子:&&,||,
位運算子:|,&,^,~,>>,<<
條件運算子: ?:
擴展賦值運算子:
6.包機制
相當于一個檔案夾,方便分類管理,
在公司中一般就是公司域名倒置,用來建包,
阿里巴巴開發手冊,都是java基礎的規范約定,可以看看規范自己的編碼!!!
java流程控制
1.用戶互動scanner
掃描用戶輸入,進行操作,
package com.javase.grammer;
import java.util.Scanner;
/**
* @author panglili
* @create 2022-07-13-11:17
*/
public class ScannerUse {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入輸入s:");
String s = scanner.next();
System.out.println("輸入的結果如下:");
System.out.println(s);
scanner.close();
}
}
scanner進階使用:判斷輸入的是否是整數,同理可判斷其他資料型別,
package com.javase.grammer;
import java.util.Scanner;
/**
* @author panglili
* @create 2022-07-13-11:17
*/
public class ScannerUse {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入:");
if(scanner.hasNextInt()){
System.out.println("輸入了整數");
}else{
System.out.println("輸入的不是整數");
}
}
}
輸入n個整數以非整數結束,計算輸入的整數和,
package com.javase.grammer;
import java.util.Scanner;
/**
* @author panglili
* @create 2022-07-13-11:40
*/
public class ScannerCalculate {
public static void main(String[] args) {
int sum=0;
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入:");
while(scanner.hasNextInt()){
sum+=scanner.nextInt();
}
System.out.println(sum);
}
scanner.close();
}
2.順序結構
最基本的結構,按照順序一條一條的執行,
System.out.println("1");
System.out.println("2");
System.out.println("3");
System.out.println("4");
System.out.println("5");
會按照順序一條一條輸出1,2,3,4,5
3.選擇結構
if單選擇
if多選擇
嵌套if
switch多選擇
package com.javase.grammer;
import com.sun.org.apache.xml.internal.res.XMLErrorResources_tr;
/**
* @author panglili
* @create 2022-07-13-11:52
*/
public class Structure {
public static void main(String[] args) {
//if單選
int a=1;
int b=2;
if(a==1){
System.out.println("正確");
}else
System.out.println("錯誤");
//if多選
if(a>1){
System.out.println("大于");
}
if(a<1){
System.out.println("小于");
}
if(a==1){
System.out.println("等于");
}
//嵌套
if(a==1){
if(b>1){
System.out.println("b>a");
}
else
System.out.println("b<a");
}else
System.out.println("條件1不成立,未進入嵌套");
int a=3;
switch (a){
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
case 4:
System.out.println("4");
break;
default:
System.out.println("未匹配到");
}
}
}
4.回圈結構
for:寫結束條件
while:運算式為true就會一直回圈,
do……while:先回圈一次再判斷,
package com.javase.grammer;
/**
* @author panglili
* @create 2022-07-13-12:10
*/
public class Circle {
public static void main(String[] args) {
//for 回圈輸出1到100
for(int i=1;i<=100;i++){
System.out.println(i);
}
//while回圈輸出1-100
int i=0;
while(i<100){
i++;
System.out.println(i);
}
}
}
九九乘法表列印
package com.javase.grammer;
/**
* @author panglili
* @create 2022-07-13-15:48
*/
public class MultiplicationTable {
public static void main(String[] args) {
for(int a=1;a<10;a++){ //a控制行數
for(int b=1;b<=a;b++){ //b控制列數,應該等于行數
System.out.print(a+"*"+b+"="+a*b);
System.out.print("\t");
}
System.out.println("");
}
}
}
java5新特性:for(變數:運算式),常用于遍歷陣列和集合,
package com.javase.grammer;
/**
* @author panglili
* @create 2022-07-13-15:58
*/
public class ForNum {
public static void main(String[] args) {
int [] nums={1,2,3,4,5,6};
for(int i:nums){
System.out.println(i);
}
}
}
5.break,continue的使用
break :會強制退出回圈,不執行剩余的回圈,
continue:跳過這次回圈,剩余的回圈繼續執行,
package com.javase.grammer;
/**
* @author panglili
* @create 2022-07-13-16:03
*/
public class BreakContinue {
public static void main(String[] args) {
//使用了break,在列印到30的時候就會退出列印,控制臺只列印了1-29
for(int i=0;i<100;i++){
if(i==30){
break;
}else
System.out.println(i);
}
System.out.println("***************");
//使用了continue,在列印到30的時候就會跳過,控制只是沒有列印30
for(int j=0;j<100;j++){
if(j==30){
continue;
}else
System.out.println(j);
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/499017.html
標籤:Java
上一篇:JDBC的詳細講解和注意事項
