日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java学习笔记2(datawhale教程):运算符和表达式、流程控制、数组

發布時間:2024/3/12 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java学习笔记2(datawhale教程):运算符和表达式、流程控制、数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java學習筆記2(datawhale教程):運算符和表達式、流程控制、數組

文章目錄

  • java學習筆記2(datawhale教程):運算符和表達式、流程控制、數組
    • 一.運算符和表達式
      • 1.數學函數與常量
      • 2.結合賦值和運算符
      • 3.自增與自減運算符
      • 4.關系和Boolean運算符
      • 5.運算符優先級
    • 二.控制流程
      • 1.塊作用域
      • 2.條件語句(if 、else)
      • 3.循環(while 、do while)
      • 4.確定循環(for 循環)
      • 5.中斷控制流程語句
      • 6.選擇語句(switch)
    • 三.數組
      • 1.數組的定義與初始化
      • 2.for-each循環
      • 3.多維數組(二維數組為例)
        • 創建二維數組
        • 賦值
        • 來點好玩的遍歷!
      • 4.不規則數組
        • 還是來個好玩的遍歷
    • 四.遇到的問題
      • 1.for each
      • 2.數組越界

public static void main 是什么意思?

【IntelliJ IDEA】IDEA自動生成文檔注釋的設置方法

一.運算符和表達式

運算符功能
+
-
*
/除 ,兩個操作數都是整數時,表示整除法;否則表示浮點除法
%整數取余

1.數學函數與常量

  • 數學函數包含在Math類中

    Math 的方法都被定義為 static 形式,通過 Math 類可以在主函數中直接調用

  • 一些常用的如:

    • 求平方根:

      額,草率了

      package com.apache.test;public class HelloWorld { // enum Size {SMALL,MEDIUM,LARGE,EXTRA_LARGE}; // Size s = Size.MEDIUM;public static void main(String[] args){double x = 4;double y = Math.sqrt(x);System.out.println(y);} }

    • 冪運算

      pow方法有兩個double類型的參數,其返回結果也為double類型

      package com.apache.test;public class HelloWorld { // enum Size {SMALL,MEDIUM,LARGE,EXTRA_LARGE}; // Size s = Size.MEDIUM;public static void main(String[] args){double x=2;double a=3;double y=Math.pow(x,a);System.out.println(y);} }

      y為x的a次方

    • 三角函數

      public class HelloWorld {public static void main (String []args){System.out.println("45 度的正弦值:" + Math.sin(Math.PI/4));System.out.println("0度的余弦值:" + Math.cos(0));System.out.println("60度的正切值:" + Math.tan(Math.PI/3));System.out.println("1的反正切值: " + Math.atan(1));System.out.println(Math.PI);} }

  • 若不想添加前綴Math,就在源文件頂部添加代碼:import static java.lang.Math.*;

    package com.apache.test; import static java.lang.Math.*; public class HelloWorld {public static void main (String []args){System.out.println("45 度的正弦值:" + sin(Math.PI/4));System.out.println("0度的余弦值:" + cos(0));System.out.println("60度的正切值:" + tan(Math.PI/3));System.out.println("1的反正切值: " + atan(1));System.out.println(Math.PI);} }

2.結合賦值和運算符

+=、*=、%=

package com.apache.test; import static java.lang.Math.*; public class HelloWorld {public static void main (String []args){int x=1;x+=4;//等價于x=x+4int y=1;y=y+4;System.out.println(x);System.out.println(y);} }

3.自增與自減運算符

package com.apache.test; public class HelloWorld {public static void main (String []args){int m = 7;int n = 7;int a = 2* ++m;int b = 2* n--;System.out.println("a="+a);System.out.println("b="+b);} }

4.關系和Boolean運算符

下面演示==,!=,&&(邏輯與),||(邏輯或),x?y:z(三目運算符)等運算符

package com.apache.test; public class HelloWorld {public static void main (String []args){int x=3;int y=7;System.out.println(3==7); //返回falseSystem.out.println(3<7); //返回trueSystem.out.println((3<7)&&(3>7)); //返回falseSystem.out.println((3<7)||(3>7)); //返回trueSystem.out.println((3>7)?3:7);System.out.println((3!=7)?3:7);} }


位運算符就暫時不探究了 (流下懶狗的眼淚)

5.運算符優先級

二.控制流程

  • 用條件語句和循環結構來確定控制流程

1.塊作用域

  • 塊由一對大括號括起來的語句
  • 塊確定了變量的作用域
  • 一個塊可以嵌套在另外一個塊里面
    • 但是不能在嵌套的兩個快中聲明相同名的變量

2.條件語句(if 、else)

和之前的C++區別不大

package com.apache.test; public class HelloWorld {/**** @param args*/public static void main (String []args){int x = 31;if( x == 10 ){System.out.print(" X is 10");}else if( x == 20 ){System.out.print(" X is 20");}else if( x == 30 ){System.out.print(" X is 30");}else{System.out.print("這是 else 語句");}} }

3.循環(while 、do while)

和之前的C++區別不大

4.確定循環(for 循環)

和之前的C、C++區別也不大 😂

5.中斷控制流程語句

continue、break

6.選擇語句(switch)

語法和之前的C、C++區別還是不大

case 、default

別忘了加break

三.數組

1.數組的定義與初始化

  • 聲明數組變量

    dataType[] arrayRefVar; //首選的方法 dataType arrayRefVar[]; //效果相同,但不是首選

    下面那種是來自C/C++風格的聲明數組的形式, 首選上面那種JAVA風格的

  • 創建數組

    接著上面的聲明數組變量

    • new操作符

      arrayRefVar = new dataType[arraySize]; //元素

      上面的語法完成了兩件事:

      • 用dataType[arraySize]創建了一個數組
      • 把新創建的數組的引用賦值給變量arrayRefVar
  • 聲明和創建數組一條語句完成

    • 格式1

      元素類型[] 數組名 = new 元素類型[元素個數或數組長度]; dataType[] arrayRefVar = new dataType[arraySize];
    • 格式2

      元素類型[] 數組名 = new 元素類型[]{元素,元素,……}; 元素類型[] 數組名 = {元素,元素,……}; dataType[] arrayRefVar = {value0,value1,...,valuek};

    和C語言一樣:索引從0開始,索引值從 0 到 arrayRefVar.length-1

  • 來看些例子呀

    package com.apache.test; public class HelloWorld {/**** @param args*/public static void main (String []args){double[] myList; //首選double myList2[]; //非首選int[] arr1 = new int[5];float[] arr2 = new float[5];int[] arr3 = new int[]{3,5,1,7};double[] arr4 = {1.3,1.1,1.5,1.7};float[] arr5 = new float[]{1.9f,1.1f,1.5f,1.7f};int[] arr6 ;arr6 =new int[2];arr6[0] = 1;arr6[1] = 2;for(int i=0;i<arr4.length;i++){System.out.println(arr4[i]);}for(int j=0;j<arr5.length;j++){System.out.println(arr5[j]);}for(int k=0;k<arr6.length;++k){System.out.println(arr6[k]);}} }

  • 注意下面這種錯誤寫法

    數組初始化中一定要用運算符new

一開始float一個數組遇到報錯,查了一下:

2.for-each循環

也叫加強型循環,用于在不使用下標的情況下遍歷數組

  • 語法格式

    for(數據類型 element: 數組名){System.out.println(element); } double[] myList=new double[]{1.1,1.2,1.5,1.9,2.1,3.3,3.5,9.9};// for(double element:myList) // { // double i=1.0; // element=i; // ++i; // // }for(double elem : myList){System.out.println(elem);}

3.多維數組(二維數組為例)

創建二維數組

同一維數組一樣,二維數組在聲明時也沒有分配內存空間,同樣要使用關鍵字new來分配內存,然后才可以訪問每個元素

  • 通過例子來看兩種聲明方式和分配內存的方式

    //直接分配行列 int a[][]; a = new int[2][4];//先分配行,再分配列 int[][] b; //另一種聲明方式 b = new int[2][]; b[0] = new int[2]; //給第一行分配列 b[1] = new int[2]; //給第二行分配列
  • 聲明和創建數組一起

    //直接分配行列 int a[][] = new int[2][]; a[0] = new int[3]; a[1] = new int[3];
  • 注意點

賦值

  • 來看三種初始化的方式

    public static void main (String []args) {int tdarr1[][]={{1,3},{5,9}};int tdarr2[][]=new int[][]{{1,3},{5,9}};//先給數組分配內存空間int tdarr3[][]=new int[2][3];tdarr3[0] = new int[] {6,54,71}; //給第一行分配一個一維數組tdarr3[1][0]=1;tdarr3[1][1]=2;tdarr3[1][2]=4;}

來點好玩的遍歷!

package com.apache.test; public class HelloWorld {/**** @param args*/public static void main (String []args){char arr[][]= new char[8][];//8行的二維數組arr[0] = new char[]{'錦','瑟','無','端','五','十','弦'};arr[1] = new char[]{'一','弦','一','柱','思','華','年'};arr[2] = new char[]{'莊','生','曉','夢','迷','蝴','蝶'};arr[3] = new char[]{'望','帝','春','心','托','杜','鵑'};arr[4] = new char[]{'滄','海','月','明','珠','有','淚'};arr[5] = new char[]{'藍','田','日','暖','玉','生','煙'};arr[6] = new char[]{'此','情','可','待','成','追','憶'};arr[7] = new char[]{'只','是','當','時','已','惘','然'};System.out.println("-----橫版-----");for(int i=0;i<8;i++){for(int j=0;j<7;j++){System.out.print(arr[i][j]+" ");//System.out.print 不換行//System.out.println 換行}if(i%2 == 0){System.out.println(",");}else {System.out.println("。");}}System.out.println("-----豎版-----");for(int j=0;j<7;j++){for(int i=7;i>=0;i--){System.out.print(arr[i][j]+" ");}System.out.println(" ");}System.out.println("。 , 。 , 。 , 。 ,"); // 輸出最后的標點/*錦瑟無端五十弦,一弦一柱思華年。莊生曉夢迷蝴蝶,望帝春心托杜鵑。滄海月明珠有淚,藍田日暖玉生煙。此情可待成追憶,只是當時已惘然。*/} }

4.不規則數組

還是來個好玩的遍歷

下面用了普通循環和for each循環

package com.apache.test; public class HelloWorld {/**** @param args*/public static void main (String []args){char arr[][]= new char[4][];//4行的二維數組,不指定列數arr[0] = new char[]{'眾','里','尋','他','千','百','度'}; //第一行分配7個元素arr[1] = new char[]{'驀','然','回','首'}; //第二行分配4個元素arr[2] = new char[]{'那','人','卻','在'}; //第三行分配4個元素arr[3] = new char[]{'燈','火','闌','珊','處'}; //第四行分配5個元素/*眾里尋他千百度,驀然回首,那人卻在,燈火闌珊處。*/for(int i=0;i<arr.length;i++){for(int j=0;j<arr[i].length;j++){System.out.print(arr[i][j]+" ");}System.out.println(" ");} //for each循環for(int i=0;i<arr.length;i++){for(char temp: arr[i]){System.out.print(temp+" ");}System.out.println(" ");}} }

  • 注意上面代碼中:
    • arr.length返回的是數組的行數
    • arr[i].length返回的是第i+1行的列數
    • 由于二維數組可能是不規則數組,所以每一行的列數量可能不相同,因此在遍歷二維數組時,最好使用數組的length屬性控制循環次數,而不是用某他變量或常量。

四.遇到的問題

1.for each

有個?問題

好像for-each只能用于遍歷打印?

我寫了這個賦值的循環發現沒有效果

2.數組越界

查了一下原因,是數組越界了

原來是因為七言律詩被我搞成了八言…

總結

以上是生活随笔為你收集整理的java学习笔记2(datawhale教程):运算符和表达式、流程控制、数组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。