JAVA學習--JAVA基礎(一)
JAVA基礎(一)
前言
本文為作者在學JAVA中容易遇到的一些坑以及一些零散的知識點的總結,所寫內容適合有一定JAVA基礎的同學看
一、變數
Java中有八種基本型別,都是Java語言預先定義好的
這八種基本型別分別是:
- 整型 (4種)
- 字元型 (1種)
- 浮點型 (2種)
- 布林型(1種)
1)整形
型別 | 長度 | 數的範圍 |
---|---|---|
byte | 8位 | -128~127 |
short | 16位 | -32768~32767 |
int | 32位 | -2147483648~2147483647 |
long | 64位 | -9223372036854774808~9223372036854774807 |
表中長度是指在系統中所佔二進位制的位數
例如byte長度為8,即有八個2進位制位數,所能表示的最小數為 - 27,最大數為 27-1。
2)字元型
char型別用於存放一個字元,值用單引號’表示如 ’ A’
(雙引號表示字串),長度為16
只能存放一個字元,超過一個字元就會產生編譯錯誤
3)浮點型
float 長度為32位
double 長度為64位
注意: 預設的小數值是double型別的
所以 float f = 123.45會出現編譯錯誤,因為123.45的預設型別是 double,其型別 長度為64,超過了float的長度32
在數字後面加一個字母f,直接把該數字宣告成float型別
float f = 123.45f,
這樣就不會出錯了
4) 布林型
如: boolean b1 = true;
boolean b2 = false;
布林型用於表示真假
其長度為1
分別代表真假
布林型真正存放的資料是0(false) 1(true)
不能用 0或1 直接賦值 只能用 false 或 true
5) 補充
final : 當一個變數被final修飾的時候,該變數只有一次賦值的機會
java在基本型別進行算術運算的時候,會發生小位元組型別向大位元組型別轉換的現象。
自動向上轉型是按照 char->int -> long -> float -> double的順序。比如byte+byte=int,short+short=int,由於int是2的32次方,對於一般算術運算基本夠用,所以int+int=int,如果以後計算精度要求過高,以後版本的Java還可以向上轉型。
但是char、byte、short例外。
char、byte、short是同級,他們之間相互轉型的話是不安全的。因為編譯器在執行時會首先將這三者先擴充轉為int型別,然後繼續進行計算。
二、操作符
1.邏輯運算子
“&” (長路與) 和 “ && ” (短路與)的區別
無論長路與還是短路與
兩邊的運算單元都是布林值
都為真時,才為真
任意為假,就為假
區別
長路與 兩側都會被運算
短路與 只要第一個是false,第二個就不進行運算了
如:
public class HelloWorld {
public static void main(String[] args) {
//長路與 無論第一個表示式的值是true或者false,第二個的值,都會被運算
int i = 1;
System.out.println( i== 0 & i++ ==1 ); //無論如何i++都會被執行,所以i的值變成了2
//短路與 只要第一個表示式的值是false的,第二個表示式的值,就不需要進行運算了
int j = 1;
System.out.println( j== 0 && j++ ==1 );
//因為j==1返回false,所以右邊的j++就沒有執行了,所以j的值,還是1
}
}
“|” (長路或) 和 “ || ” (短路或)也和上面類似
長路或 無論第一個表示式的值是true或者false,第二個的值,都會被運算
短路或 只要第一個表示式的值是true的,第二個表示式的值,就不需要進行運算了
2.位操作符
位運算子是要在二進位制之間進行的,利用 Integer.toBinaryString()
可以將一個整數轉換為二進位制數
運算子 | 用法 | 描述 |
---|---|---|
按位與( AND) | a & b | 對於每一個位元位,只有兩個運算元相應的位元位都是1時,結果才為1,否則為0。 |
按位或(OR) | a|b | 對於每一個位元位,當兩個運算元相應的位元位至少有一個1時,結果為1,否則為0。 |
按位異或(XOR) | a ^ b | 對於每一個位元位,當兩個運算元相應的位元位有且只有一個1時,結果為1,否則為0。 |
按位非(NOT) | ~ a | 反轉運算元的位元位,即0變成1,1變成0。 |
左移(Left shift) | a << b | 將 a 的二進位制形式向左移 b (< 32) 位元位,右邊用0填充。 |
有符號右移 | a >> b | 將 a 的二進位制表示向右移 b (< 32) 位,丟棄被移出的位。 |
無符號右移 | a >>> b | 將 a 的二進位制表示向右移 b (< 32) 位,丟棄被移出的位,並使用 0 在左側填充。 |
3.從鍵盤輸入Scanner
注意:使用Scanner類,需要在最前面加上 import java.util.Scanner;
標頭檔案
利用Scanner類從鍵盤讀取資料的例子:
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner s = new Scanner(System.in); // 讀取標準輸入裝置資料。
int a = s.nextInt(); //讀取整數
System.out.println("讀取的整數是:"+a);
double b = s.nextDouble();
System.out.println("讀取的浮點數(double)的值是:"+b);
float c = s.nextFloat();
System.out.println("讀取的浮點數(float)的值是:"+c);
String d = s.nextLine();
System.out.println("讀取的字串是:"+d);
s.close(); //讀完後關閉輸入流
}
}
需要注意的是,如果在通過nextInt()讀取了整數後,再接著讀取字串,讀出來的是回車換行:"\r\n",因為nextInt僅僅讀取數字資訊,而不會讀取回車換行"\r\n".
所以,如果需要在讀取了整數後,接著讀取字串,那麼就應該連續執行兩次nextLine(),第一次是取走回車換行,第二次才是讀取真正的字串
本文出自 https://blog.csdn.net/Zaroku 轉載請註明出處。
本文僅為個人收藏,分享知識,並會不定期的進行修改,如有侵權,請聯絡我進行刪除
相關文章
- Java 基礎學習系列一 —— Java 主要特性Java
- 【Java 反射學習】Java 反射基礎Java反射
- [Java 反射學習] Java 反射基礎Java反射
- java基礎學習(目錄)Java
- Java基礎學習筆記Java筆記
- C++ -> Java快速學習-基礎C++Java
- java基礎學習:JavaWeb之JSPJavaWebJS
- java基礎學習:JavaWeb之ServletJavaWebServlet
- java webService 零基礎學習JavaWeb
- JAVA基礎學習篇之反射Java反射
- Java基礎-學習筆記17Java筆記
- Java基礎-學習筆記07Java筆記
- Java基礎-學習筆記06Java筆記
- Java基礎-學習筆記05Java筆記
- Java基礎-學習筆記04Java筆記
- Java基礎類String學習分析Java
- Java學習之基礎語法Java
- 學習java需要什麼基礎Java
- Java零基礎學習之路(一)Java 開發環境搭建Java開發環境
- Java學習之基礎語法練習Java
- Java基礎(向B站狂神說Java學習)Java
- Java 基礎學習總結(一)抽象類和介面Java抽象
- Java基礎學習筆記 第一章Java筆記
- Java新手學習路線,0基礎學習Java怎樣效率更高?Java
- java入門基礎學習----泛型Java泛型
- java基礎學習_io流之FileInputStreamJava
- 【JAVA Web基礎學習】Day1JavaWeb
- Java零基礎學習難嗎Java
- 零基礎怎麼學習Java?Java
- Java學習筆記01 - JavaSE基礎Java筆記
- java基礎複習Java
- JAVA基礎是什麼?java學習有哪些階段Java
- Java培訓分享:零基礎怎麼學習Java?Java
- Java零基礎學習之路(八)Java物件導向Java物件
- JAVA基礎學習筆記 一 計算機基礎、JAVA開發環境、開發注意事項Java筆記計算機開發環境
- 天天學JAVA-JAVA基礎(6)Java
- 轉行Java能學會嗎?零基礎學習Java的學習路線Java
- JAVA基礎學習-數字與字串學習總結Java字串