1. 程式人生 > 其它 >Java基礎語法學習(一)

Java基礎語法學習(一)

技術標籤:從0學javajava

基礎語法學習

一、資料型別:

今天學了八大基本資料型別和一個引用資料型別

1.基本資料型別:

  • 位,bit,是計算機內部資料儲存的最小單位,11001100是八位二進位制數。
  • 位元組,byte,是計算機中資料處理的基本單位,習慣上用大寫B表示,1B=8bit。
整數型別:
  • byte:佔1個位元組
  • short:佔2個位元組
  • int:佔4個位元組
  • long:佔8個位元組

其中int最為常用;
在使用long型別的時候要在資料後加上L

long num4=40L;
浮點數型別/小數型別:
  • float:佔4個位元組
  • double:佔8個位元組

其中一般用double
在使用float型別的時候要在資料後面加上F

float num5=50.1F;
字元型別:

char:佔2個位元組
注意這裡要用單引號,且裡面只能定義一個字元

char name='李';
布林型別:

boolean:佔1位
布林值只有true和false兩種結果

2.引用資料型別:

今天只瞭解了String是一個引用資料型別,屬於類,不是一個關鍵字
注意String使用時用雙引號,且裡面可以定義字串

String name2="李先生";

二、資料型別拓展:

1.整數型拓展:

二進位制數前加0b,八進位制數前加0,十六進位制數前加0x

int i1=10;
int i2=010;//八進位制,在十進位制裡面是10
int i3=
0x10;//十六進位制,在十進位制裡面是16 int i4=0b10;//二進位制,在十進位制裡面是2

2.浮點數拓展:

注意儘量避免用浮點數進行比較,因為其中會進行舍入誤差等操作,結果往往是大約,這時進行比較得不到正確的答案
示例如下:

float f=0.1f;//0.1
double d=1.0/10;//0.1
System.out.println(f);
System.out.println(d);
System.out.println(f==d);//這裡是輸出f是否等於d

結果為:
在這裡插入圖片描述
具體如何比較浮點型資料後面再學習

3.字元型拓展:

所有的字元本質還是數字,遵從Unicode編碼,有一個編碼表,佔2位元組,取值從0~65536,即從U0000 到 UFFFF

//字元拓展
char c1='a';
char c2='中';
char c3='A';
System.out.println(c1);
System.out.println((int)c1);//強制型別轉換
System.out.println(c2);
System.out.println((int)c2);
System.out.println(c3);
System.out.println((int)c3);
System.out.println("=====================================");
char c4='\u0061';
System.out.println(c4);

輸出結果為:
在這裡插入圖片描述
轉義字元:
\t 製表符
\n 換行

System.out.println("=====================================");
System.out.println("Hello\tWorld!");
System.out.println("Hello\nWorld!");
System.out.println("=====================================");

輸出結果為:
在這裡插入圖片描述
問題:

String s1=new String("hello world");
String s2=new String("hello world");
String s3="hello world";
String s4="hello world";
System.out.println(s1==s2);
System.out.println(s3==s4);

結果為:
在這裡插入圖片描述

老師說這涉及到了物件,要從記憶體分析,會在後面學習。

4.布林值拓展:

boolean flag=true;
if(flag==true){}
if(flag){}

上面兩種表達的意思是一樣的,但是因為程式碼要精簡易讀,所以一般用第二種表示。

三、型別轉換:

容量由低到高為:
byte short char<int<long<float<double

1.強制型別轉換:

強制型別轉換是由高容量轉換為低容量
比如:
int i=128;
byte b=(byte)i;

2.自動型別轉換:

自動型別轉換是由低容量轉換為高容量
比如:
char c='a';
int d=c+1;
在型別轉換的時候要注意:

  1. 不能對布林值進行轉換
  2. 不能把物件型別轉換為不相干的型別
  3. 轉換的時候可能存在記憶體溢位,或者精度問題

下面是一個例項:

int money=10_0000_0000;
int years=20;
int total=money*years;//計算溢位了
long total2=money*years;//轉換之前已經出現問題了,因為預設是int
long total3=money*(long)years;
System.out.println(total);
System.out.println(total2);
System.out.println(total3);

輸出結果為:
在這裡插入圖片描述

四、變數:

  • 變數,簡單理解就是一個位置定死的,但是內容可以改變的量。
  • 一行最好只定義一個變數,這是為了提高程式的可讀性
  • 變數命名規範為:出了第一個單詞以外,後面的單詞首字母大寫,比如nameList
  • 類名命名規範為:所有單詞首字母大寫,比如ClassCourse

變數根據作用域分為三種:

  • 類變數
  • 例項變數
  • 區域性變數

1.類變數:

類變數的作用域在一個類中,定義方法為static 變數型別 變數名 = 變數值:

static double salary=2500;

2.區域性變數:

區域性變數必須宣告和初始化值,它的作用域在定義的方法中,定義方法為:
變數型別 變數名字 = 變數值

小問題:我實際操作中宣告和初始化不在一起進行也可以,那麼這樣是否正確呢?

3.例項變數:

例項變數從屬於物件,如果不自行初始化,則賦值為這個型別的預設值

  • 整型預設值為0
  • 浮點型預設值為0.0
  • 布林值預設為false
  • 除了基本型別,其餘都是null

如果我們在類裡面,方法外面定義了例項變數:

String name;
int age;

想要在方法內部呼叫,則需要:

variables Variables=new variables();
System.out.println(Variables.age);
System.out.println(Variables.name);

variables是我的類名
輸出為:
在這裡插入圖片描述

五、常量:

常量一般用大寫字母,比如:

static final double PI=3.14;

static和final都是修飾符,可以變換順序

以上就是我今天學習的內容,希望能幫到我,希望也許也能幫到您。