java語言基礎認識及程式碼實踐
- 基本資料型別
- 變數
- 基本型別變數
- 資料型別的轉換規則
- 運算子
Java語言中的資料型別分為兩大型別: 一、基本資料型別。 1、基本資料型別是由程式設計語言系統所定義、不可再劃分的資料型別。 每種基本資料型別的資料所佔用記憶體的大小是固定的,與軟硬體環境無關。基本資料型別在記憶體中存放的是資料本身。 2、引用資料型別,簡稱引用型別。 應用資料型別在記憶體中存放的是指向該資料的地址,不是資料本身,他往往有多個據本資料組成,因此,對引用資料型別的應用稱為物件引用,引用資料型別也被稱為複合資料。 基本資料型別有整形、浮點型、布林型、字元型。 整形包括:byte,short,int,long; 浮點型包括:float,double; 布林型包括:boolean; 字元型包括:char;
**基本資料型別表** 資料型別 關鍵字 佔用位元組 預設數值 取值範圍 布林型 boolean 1 false true,false 位元組型 byte 1 0 -128~127 短整型 short 2 0 -32768~32767 整型 int 4 0 -2147483648~2147483647 長整型 long 0L -9223372036854775808~9223372036854775807 單精度浮點型 float 4 0.0F 負數範圍:-3.4028235E+-1.4E-45 正數範圍:1.4E-45~3.4028235E+38 雙精度浮點型 double 8 0.0D 負數範圍:-1.7976931348623157E+38~ -4.9E-324 正數範圍:4.9E-324~1.7976931348623157E+308 字元型: char 2 '\u0000'~'\uffff'
變數 1、在程式中使用的值大多是需要經常變化的資料,用常數值表示顯然是不夠的,因此,每一種計算機語言都使用變數來儲存資料,變數的值在程式中是可以改變的,使用變數的原則是“先宣告、後使用”,即變數在使用前必須先宣告。 2、變數具有四個基本要素:名稱、型別、值和作用域。 ·)變數宣告格式 一個變數由識別符號、型別和可選的初始化值共同定義。變數格式如下: 型別 變數名 [ = 初值] [ ,變數名 [ =初值] ];
資料的型別轉換: 1)自動型別轉換 1.轉換前的資料型別與轉換後的型別相容。 2.轉換後的資料型別的表示範圍比轉換前的型別大。 轉換從“短”到“長”的優先關係為:
byte-----short----char----int----long----float----double
資料型別的自動轉換:
//filename:app1_1.java 型別自動轉換
public class app1_1 //定義類app1_1
{
public static void main(String[] args)
{
int a = 155;
float b = 21.0f;
System.out.println("a =" + a +",b = " + b); //輸出a和b的值
System.out.println("a/b" = "+ (a/b)); //輸出a/b的值
}
}
輸出結果為:
a = 155,b = 21.0
a/b =7.3809524
整型與浮點型資料型別轉換
//filename:APP1_2.java
public class APP1_2
{
public static void main(String[] args){
int a = 155 ;
int b = 9;
float g , h;
System.out.println("a = " + a + ",b= " + b); //輸出a和b的值
g= a/b; //將a除以b的結果放在g中
System.out.println("a/b =" + g + "\n"); //輸出g的值
System.out.println("a = " + a + ",b = " + b); //輸出a和b的值
h=(float)a/b; //先將a強制轉換成float型別後在參加運算
System.out.println("a/b =" + h); //輸出h的值
}
}
程式執行結果為:
a = 155,b = 9
a/b = 17.0
a = 155, b = 9
a/b = 17.222221
從鍵盤輸入數字,然後將其轉換成數值型資料。
//filename:App1_3.java 由鍵盤輸入整數
import java.io.* ;
public class App_3
{
public static void main(String[] args) throws IOExcepion
}
float num;
String str;
BufferedReader buf;
buf = new BuffedReader(new InputStreamReader(System.in));
System.out.print("請輸入一個實數:");
str = buf.readLine(); //將輸入的文字指定給字串變數str存放
num = Float.parseFloat(str); //將str轉換成float型別後賦給num
System.out.println("您輸入的數為:"+num);
}
}
程式執行結果為:
請輸入一個實數:32.58
您輸入的數為:32.58
利用Scanner類從鍵盤輸入多個數據。
//filename:App1_4.java 由鍵盤輸入整數
import java.io.* ;
public class App_4
{
public static void main(String[] args) throws IOExcepion
}
int num1;
double num2;
Scanner reader = new Scanner(System.in);
System.out.print("請輸入第一個數:");
num1 = reader.nextInt(); //將輸入的內容作為int型資料賦值給變數num1
System.out.print("請輸入第二個數:");
num1 = reader.nextDouble(); //將輸入的內容作為double型資料賦值給變數num2
System.out.println(num1+ " * " num2 + "=" +((float)num1 * num2));
}
}
程式執行結果為:
請輸入第一個數:5
請輸入第二個數:8
5*8.0=40.0
運算子:
1.算數運算子:`+、—、*、/、%、++、——`
2.關係運算符:`>、<、>=、<=、==、!=`
3.邏輯運算子:`!、&&、||、&、|`
4.位運算子:`>>、<<、>>>、&、|、^、~`
5.賦值運算子包括`=`號、擴充套件賦值運算子,如`+=、/=`等
6.條件運算子包括 `?`
關係運算符和邏輯運算子的使用
//filename:App1_5.java
public class App1_5
{
public static void main(String[] args)
{
int a = 25,b =7;
boolean x = a<b;
System.out.println("a<b ="+x);
int e = 3;
boolean y = a/e>5;
System.out.println("x ^ y =" +(x ^ y));
if(b < 0 )
System.out.println("b/0 = " + b/0);
else System.out.println("a % e = "+ a % e);
int f = 0;
if(f!= 0 && a/f >5 )
System.out.println("a/f = " + a/f);
else System.out.println("f = " + f);
}
}
程式執行結果為:
a < b = false
x ^ y = true
a % e = 1
f = 0