Java基礎學習
Hello,Word!
- 打開IDEA (java編譯器,可以百度安裝)
- 配置好Java環境變量(安裝完,在path中添加java的bin目錄)
- 在src文件中新建名爲“Hello”的文件
- 寫下以下代碼
public class Hello {
public static void main(String[] args) {
System.out.println(“Hello,Word!”);
}
}
- 運行代碼
標識符
- 所有的標識符都應該以字母(A-Z或者a-z),美元($),或者下劃線(_)開頭。
- 首字符之後可以是字母,$,_,或者數字的任意組合。
- 不能使用關鍵字作爲變量名或者方法名
- 標識符是大小寫敏感的
- 合法字符舉例:age,$sad,_sadsad, _1 _13s
- 非法字符舉例:123abc,-dasd,#abc
- 可以使用中文命名,但是一般不建議使用。
數據類型
強數據類型
- 要求變量使用要嚴格符合規定,所有變量都必須先定義後使用
弱數據類型
- 與上相反
Java的數據類型分兩大類
- 基本類型(primitive type)
- 數值類型
- 整數類型
- byte佔1個字節範圍: -128-127
- short佔2個字節範圍:-32768-32767
- int佔4個字節範圍: -2147483648-2147483647
- long佔8個字節範圍: -9223372036854775808
- 9223372036854775807
- 浮點類型
- float佔4個字節
- double佔8個字節
- 字符類型char佔2個字節
- 整數類型
- boolean類型:佔1位其值只有true和false兩個
- 數值類型
- 引用類型(reference type)
- 類
- 接口
- 數組
編寫代碼
類型轉換
public static void main(String[] args) {
int i = 128;
byte n = (byte)i;
double o = i;
//強制轉換 (類型)變量名 高->低
//自動轉換 低->高
System.out.println(i);
System.out.println(n);
System.out.println(o);
/*
注意點:
1. 不能對布爾值進行轉換
2. 不能把對象類型轉換爲不相干的類型
3. 在把高容量轉換到低容量的時候,強制轉換
4. 轉換的時候可能存在內存溢出或者是精度問題
*/
System.out.println("==============");
System.out.println((int)27.4);
System.out.println((int)-45.48f);
//=================================================
//操作比較大的數值的時候,注意溢出問題
//JDK7新特性,數字之間可以使用下劃線分割
int money= 10_0000_0000;
int years=20;
int total=money*years;//-1474836480,計算的時候內存溢出
long total2=money*years;//默認是int,轉換之前已經存在問題了
long total3=money*(long)years;//先把一個數據轉換成long
System.out.println(money);
System.out.println(total);
}
}
順序結構
public class order {
public static void main(String[] args) {
System.out.println("1");
System.out.println("2");
System.out.println("3");
System.out.println("4");
System.out.println("5");
}
}
輸入語句
//hasNext
package java1.scanner;
import java.util.Scanner;
public class Select {
public static void main(String[] args) {
//創建一個掃描器對象,用於接受鍵盤數據
Scanner S = new Scanner(System.in);
System.out.println("使用nxet方式接收");
//判斷用戶有沒有接收輸入字符串
if (S.hasNext()){
//使用next方式接收
String str=S.next();//程序會等待用戶輸入完畢
System.out.println("輸入的內容爲"+str);
}
//凡是屬於IO流(輸入輸出)的類如果不關閉會一直佔用資源,要養成好習慣,用完就關掉
S.close();
}
}
//hasNextLine
package java1.scanner.java01;
import java.util.Scanner;
public class Scan {
public static void main(String[] args) {
//從鍵盤接收數據
Scanner S = new Scanner(System.in);
System.out.println("使用nextLine方式接收");
//判斷是否有輸入
if (S.hasNextLine()){
String str = S.nextLine();
System.out.println("輸出的內容爲"+str);
}
S.close();
}
}
//scanner進階
package java1.scanner.java01;
import java.util.Scanner;
public class HasNext {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//從鍵盤接收數據
int i=1;
float f=0.0f;
System.out.println("請輸入整數:");
//如果。。。那麼
if (scanner.hasNextInt()){
i = scanner.nextInt();
System.out.println("整數數據:"+i);
}else {
System.out.println("輸入的不是整數數據:"+i);
}
System.out.println("請輸入小數:");
//如果。。。那麼
if (scanner.hasNextFloat()){
f = scanner.nextFloat();
System.out.println("小數數據:"+f);
}else {
System.out.println("輸入的不是小數數據:"+f);
}
scanner.close();
}
}
//例題
package java1.scanner.java01;
import java.util.Scanner;
public class Add {
public static void main(String[] args){
//輸入多個數字,並求其總和與平均數,
//每輸入一個數字用回車確認,通過輸入
//非數字結果輸出並輸出結果
Scanner scanner = new Scanner(System.in);
//和
double sum= 0;
//計算輸入了多少個數字
int m=0;
//通過循環判斷還有是否還有輸入,並在裏面對每一次進行求和統計
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();
m++;
sum=sum+x;
System.out.println("你輸入了第"+m+"個數據"+"當前結果爲"+sum);
}
System.out.println(m+"個數的和爲"+sum);
System.out.println(m+"個數的平均值是"+(sum/m));
scanner.close();
}
}
選擇結構
語法
if(布爾表達式){
//如果布爾表達式爲true將執行的語句
}
switch多選擇結構
package java1.scanner.java01;
public class Fan {
public static void main(String[] args) {
//字符的本質還是數字
//反編譯 java---class(字節碼文件)---反編譯(IDEA)
String name="小明;
switch(name){
case "小明":
System.out.println("小明");
break;
case "蘭如生":
System.out.println("蘭若生");
break;
default:
System.out.println("弄啥嘞!");
break;
}
}
}
反編譯
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package java1.scanner.java01;
public class Fan {
public Fan() {
}
public static void main(String[] args) {
String name = "小明";
byte var3 = -1;
switch(name.hashCode()) {
case 20775245:
if (name.equals("蘭如生")) {
var3 = 1;
}
break;
case 38262113:
if (name.equals("小明")) {
var3 = 0;
}
}
switch(var3) {
case 0:
System.out.println("小明");
break;
case 1:
System.out.println("蘭若生");
break;
default:
System.out.println("弄啥嘞!");
}
}
}
數組
package java1.scanner.java03;
public class ABC {
public static void main(String[] args) {
int[] a={1,2,3,4,5};
//打印全部數組元素
for (int i = 0; i <a.length; i++) {
System.out.println(a[i]);
}
//計算所有數組元素的和
int sum=0;
for (int i = 0; i < a.length; i++) {
sum+=a[i];
}
System.out.println("sum="+sum);
//數組最大值
int i=a[0];
for (int j = 1; j < a.length; j++) {
if (a[j]>i){
i=a[j];
}
}
System.out.println("max="+i);
}
}
遍歷數組
package java1.scanner.java04;
public class ShuZhu {
public static void main(String[] args) {
int[] a= {1,2,3,4,5,6,7,8,9};
for (int i : a) {
System.out.println(i);
}
}
}
package java1.scanner.java04;
public class ShuZhu {
public static void main(String[] args) {
int[] a={1,2,3,4,5,6};
p(a);
System.out.println();
p(s(a));
}
//反轉數組
public static int[] s(int[] x){
int[] a=new int[x.length];
for (int i = 0,j=x.length-1; i < x.length; j--,i++) {
a[i]=x[j];
}
return a;
}
//打印數組
public static void p(int[] x){
for (int i = 0; i < x.length; i++) {
System.out.print(x[i]+" ");
}
}
}
冒泡排序
ps:以下是兩個文件代碼
package java2;
public class Cha {
public static void main(String[] args) {
int[] s = new int[5];
s=new int[] {1,5,3,4};
Cha1 cha1 = new Cha1();
cha1.shucc(s);
Cha1.paixu(s);
System.out.println();
cha1.shucc(s);
}
}
==========================================
package java2;
public class Cha1 {
public void shucc(int[] s){
for (int i = 0; i < s.length; i++) {
System.out.print(s[i]+" ");
}
}
public static void paixu(int[] s){
for (int i = 0; i < s.length; i++) {
for (int j = 0; j < i; j++) {
int t;
if (s[j]>s[j+1]){
t = s[j];
s[j]=s[j+1];
s[j+1]=t;
}
}
}
}
}
以上筆記來自B站狂神說java視頻中我手抄下來的筆記,因爲是第一次寫博客,如果有任何不足或者侵權的地方請聯繫我改進或刪除,應該沒什麼大問題吧。最後希望大家學好編程,額,就這樣吧0.0
附上狂神的視頻鏈接:
https://www.bilibili.com/video/BV12J41137hu