复习JavaSE 3.Java基本程序设计结构

变量尽可能靠近使用的地方
常量 大写
类常量 用static final修饰(定义在main函数方法以外)


基本数据类型转换图

实线:无信息丢失
虚线:可能损失精度
实线转换到虚线无需强制转换类型 自动转换
Math.round(); 将数组转换成离他最近的整数 (也需要强制转换)


位运算符 用来操作二进制
3<<1 左移1位 32(1)=6
3<<2 左移2位 3
2(2)=12
右移 除以2的次幂运算
6>>2=1 带余除法 不要余数


String类
两个字符相等 但是不区分大小写时 用equalsIgnoreCase();
==是判断地址
Sting只有字符串常量共,+或者subString 操作产生的结果不共享
空串和NULL串
空串 String a="";null串 String b=null;
空串:长度0 内容为空的字符串
null串:没有任何对象和该变量关联
判断字符串是否为空
if(str.lengh()==0)
或者
if(str.equal(""))
判断字符串是否为null
if(srt==null)
判断既不是null也不是空串
if(str!=null&&str.length()!=0)
首先要检查str是否为null 因为在null串上调用方法 会出现错误

StringBuider 由较短字符串构建字符串时使用
前身StringBuffer 效率低 但是允许采用多线程的方式执行添加或者删除
单线程使用StringBuider


读取输入
Scanner
一种简单的文本扫描器 读取一个文本文件

 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 循环体 使用内部变量

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

BigInteger long double 无法满足时

  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);

数组
二维数组 在数组中创建数组
不规则数组 创建 调用Arrays工具类方法输出

public class Array_1 {
    public static void main(String[] args) {
//        不规则数组 创建 调用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]));
    }
}

创建二维数组并打印

public class Array_2 {
    public static void main(String[] args) {
        int[][] a={{1,2},{1,2,3,4},{5,6,7}};
//        读取数组 按行读取
      /*  for (int[] num:a)
        {
            System.out.println(Arrays.toString(num));
        }*/
//      读取数组 按照个数读取 可以
        for (int[] num: a )
            for (int num1:num){
                System.out.println(num1);
        }
    }
}

通过不规则输出 输出数组三角形

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

        int[][] odd=new int[NMAX+1][];
//        创建数组三角形
        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);
            }
        }
//        输出结果
        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
 * 选择排序最优算法
 */
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;

                    }

                }

            }

    }
}

冒泡排序及优化

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;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,245评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,749评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,960评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,575评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,668评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,670评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,664评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,422评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,864评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,178评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,340评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,015评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,646评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,265评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,494评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,261评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,206评论 2 352

推荐阅读更多精彩内容

  • 前言 最先接触编程的知识是在大学里面,大学里面学了一些基础的知识,c语言,java语言,单片机的汇编语言等;大学毕...
    oceanfive阅读 3,055评论 0 7
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,340评论 0 2
  • 1. 项目(GMM,分割等等)✔️ 2. 翻译500❌ 3. 准备周报&组会ppt✔️
    谁要陪我吃火锅阅读 132评论 0 0
  • 周末,接到老丁的电话:他要回老家了,向我道个别!没说原因,一阵客套,电话挂了。 老丁今年六十四岁...
    布袋僧阅读 792评论 3 1
  • 离开之前 我要去魔兽里走过每一个路口阅读每一段墓志铭 还要到暗黑里敲碎每一个瓦罐拾取每一颗金币 最后在守望里每一张...
    文刀之元阅读 307评论 0 3