復(fù)習(xí)JavaSE 3.Java基本程序設(shè)計(jì)結(jié)構(gòu)

變量盡可能靠近使用的地方
常量 大寫
類常量 用static final修飾(定義在main函數(shù)方法以外)


基本數(shù)據(jù)類型轉(zhuǎn)換圖

實(shí)線:無信息丟失
虛線:可能損失精度
實(shí)線轉(zhuǎn)換到虛線無需強(qiáng)制轉(zhuǎn)換類型 自動(dòng)轉(zhuǎn)換
Math.round(); 將數(shù)組轉(zhuǎn)換成離他最近的整數(shù) (也需要強(qiáng)制轉(zhuǎn)換)


位運(yùn)算符 用來操作二進(jìn)制
3<<1 左移1位 32(1)=6
3<<2 左移2位 3
2(2)=12
右移 除以2的次冪運(yùn)算
6>>2=1 帶余除法 不要余數(shù)


String類
兩個(gè)字符相等 但是不區(qū)分大小寫時(shí) 用equalsIgnoreCase();
==是判斷地址
Sting只有字符串常量共,+或者subString 操作產(chǎn)生的結(jié)果不共享
空串和NULL串
空串 String a="";null串 String b=null;
空串:長度0 內(nèi)容為空的字符串
null串:沒有任何對(duì)象和該變量關(guān)聯(lián)
判斷字符串是否為空
if(str.lengh()==0)
或者
if(str.equal(""))
判斷字符串是否為null
if(srt==null)
判斷既不是null也不是空串
if(str!=null&&str.length()!=0)
首先要檢查str是否為null 因?yàn)樵趎ull串上調(diào)用方法 會(huì)出現(xiàn)錯(cuò)誤

StringBuider 由較短字符串構(gòu)建字符串時(shí)使用
前身StringBuffer 效率低 但是允許采用多線程的方式執(zhí)行添加或者刪除
單線程使用StringBuider


讀取輸入
Scanner
一種簡單的文本掃描器 讀取一個(gè)文本文件

 Scanner in=new Scanner(new File("D:\\IO\\TEST.txt"));
        while (in.hasNext()) {
            String str = in.nextLine();
            System.out.println(str);
        }

printf格式化輸出System.out.printf("%tc",new Date());


for 循環(huán)體 使用內(nèi)部變量

int i=0;
for(i=0;i<10;i++)

BigInteger long double 無法滿足時(shí)

  int k=60;
        int n=490;
        BigInteger kit=BigInteger.valueOf(1);
        for (int j = 1; j <=k; j++) {
          kit=kit.multiply(BigInteger.valueOf(n-j+1)).divide(BigInteger.valueOf(j));

        }
        System.out.println(kit);

數(shù)組
二維數(shù)組 在數(shù)組中創(chuàng)建數(shù)組
不規(guī)則數(shù)組 創(chuàng)建 調(diào)用Arrays工具類方法輸出

public class Array_1 {
    public static void main(String[] args) {
//        不規(guī)則數(shù)組 創(chuàng)建 調(diào)用Arrays工具類方法輸出
        int[][] a=new int[3][];
        a[0]=new int[2];
        a[0][0]=13;
        a[0][1]=14;
        System.out.println(Arrays.toString(a[0]));
    }
}

創(chuàng)建二維數(shù)組并打印

public class Array_2 {
    public static void main(String[] args) {
        int[][] a={{1,2},{1,2,3,4},{5,6,7}};
//        讀取數(shù)組 按行讀取
      /*  for (int[] num:a)
        {
            System.out.println(Arrays.toString(num));
        }*/
//      讀取數(shù)組 按照個(gè)數(shù)讀取 可以
        for (int[] num: a )
            for (int num1:num){
                System.out.println(num1);
        }
    }
}

通過不規(guī)則輸出 輸出數(shù)組三角形

public class Array_Test1 {
    public static void main(String[] args) {
        final int NMAX=5;

        int[][] odd=new int[NMAX+1][];
//        創(chuàng)建數(shù)組三角形
        for (int i = 0; i <odd.length; i++) {
            odd[i]=new int[i+1];
        }
//        賦值
        for (int i = 0; i <odd.length; i++) {
            for (int j = 0; j <odd[i].length; j++) {
                odd[i][j]=(int)(Math.random()*10+1);
            }
        }
//        輸出結(jié)果
        for (int odds[]:odd){
            System.out.println(Arrays.toString(odds));
        }
    }
}

選擇排序

package JavaSE.Unit3;


/**
 * @ClssName selectionTest
 * @Autor Yu
 * @Description TODO
 * @Date 2019/2/27 21:00
 * Version 1.0
 * 選擇排序最優(yōu)算法
 */
public class selectionTest {
    public static void main(String[] args) {
      int[] arr={9,16,21,18,59,51,60};

      int temp=0;
            for (int i = 0; i <arr.length-1; i++) {

                for (int j = i+1; j <arr.length; j++) {

                    if (arr[i]>arr[j]){
                        temp=arr[i];
                        arr[i]=arr[j];
                        arr[j]=temp;

                    }

                }

            }

    }
}

冒泡排序及優(yōu)化

package JavaSE.Unit3;

import java.util.Arrays;

/**
 * @ClssName bubbleTest
 * @Autor Yu
 * @Description TODO
 * @Date 2019/2/28 20:15
 * Version 1.0
 * 冒泡排序
 */
public class bubbleTest {
    public static void main(String[] args) {
        System.out.println("*************************");
        int[] staff={6,1,7,5,4,9};
        int temp=0;

        for (int j = 0; j <staff.length-1; j++) {
            boolean flog=true;
            for (int i = 0; i < staff.length-j-1; i++) {
                if (staff[i] > staff[i + 1]) {
                    temp = staff[i];
                    staff[i] = staff[i + 1];
                    staff[i + 1] = temp;
                    flog=false;
                }
            }
            System.out.println(flog);
            if (flog)
                break;

            System.out.println(Arrays.toString(staff));
        }
        }

    }

二分查找

import java.util.Arrays;

/**
 * @ClssName BinarySearchTest
 * @Autor Yu
 * @Description TODO
 * @Date 2019/2/28 20:48
 * Version 1.0
 * 二分查找
 */
public class BinarySearchTest {
    public static void main(String[] args) {
        int[] arr={30,20,50,10,80,9,7,12,100,40,8};
        Arrays.sort(arr);
        System.out.println(Arrays.toString(arr));
        System.out.println(myBinarySearch(arr,40));
    }

    private static int myBinarySearch(int[] arr, int value) {
        int low=0;
        int high=arr.length-1;
        while (low<=high){
            int mid=(low+high)/2;
            if (value==arr[mid])
                return mid;
            if (value>arr[mid]){
               low++;
            }
            if (value<arr[mid])
                low--;
        }
        return -1;
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 最先接觸編程的知識(shí)是在大學(xué)里面,大學(xué)里面學(xué)了一些基礎(chǔ)的知識(shí),c語言,java語言,單片機(jī)的匯編語言等;大學(xué)畢...
    oceanfive閱讀 3,395評(píng)論 0 7
  • 在C語言中,五種基本數(shù)據(jù)類型存儲(chǔ)空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 4,035評(píng)論 0 2
  • 1. 項(xiàng)目(GMM,分割等等)?? 2. 翻譯500? 3. 準(zhǔn)備周報(bào)&組會(huì)ppt??
    誰要陪我吃火鍋閱讀 149評(píng)論 0 0
  • 周末,接到老丁的電話:他要回老家了,向我道個(gè)別!沒說原因,一陣客套,電話掛了。 老丁今年六十四歲...
    布袋僧閱讀 895評(píng)論 3 1
  • 離開之前 我要去魔獸里走過每一個(gè)路口閱讀每一段墓志銘 還要到暗黑里敲碎每一個(gè)瓦罐拾取每一顆金幣 最后在守望里每一張...
    文刀之元閱讀 323評(píng)論 0 3

友情鏈接更多精彩內(nèi)容