美文网首页Java
复习JavaSE 3.Java基本程序设计结构

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

作者: 第二套广播体操 | 来源:发表于2019-02-18 19:46 被阅读0次

变量尽可能靠近使用的地方
常量 大写
类常量 用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;
    }
}

相关文章

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

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

  • day003_python列表和元组

    1. 程序设计 经典说法:程序设计 = 数据结构 + 算法 实际工程:基本逻辑 + 数据结构 + 设计思路 2. ...

  • 菜鸟到达人!10道题测测你的Java底子

    本课程主要讲解JavaSE的发展历史,JDK开发环境的搭建,CLASSPATH属性作用,Java程序基本结构、基本...

  • 数据处理VBA篇:程序控制结构

    结构化程序设计中基本的3中控制结构:顺序结构,选择结构,循环结构。其中,最基本的是顺序结构,它是后两种的基础。注:...

  • 程序设计流程图、产品体验流程图模板分享

    程序设计流程图 遵循这种方法的程序设计,就是结构化程序设计。相应地,只要规定好三种基本结构的流程图的画法,就可以画...

  • 流程控制

    程序结构 顺序结构,选择结构和循环结构是结构化程序设计的三种基本结构。 条件语句 if条件语句 if...else...

  • 三、控制流

    简介 程序设计的 三种基本结构:顺序结构、 选择结构、循环结构 真理 顺序结构:是一种线性、有序的结构,依次执行各...

  • 一、基本概念

    1. 数据结构+算法=程序设计 2.基本概念 数据结构包括:逻辑结构和物理结构 逻辑结构:(1). 集合 (2)线...

  • 3.Java基础复习

    1、三种注释 注意:多行注释可以嵌套单行注释,但是多行注释不能嵌套多行注释 2、Java中表示符 在程序中经常要定...

  • Java的基本程序设计结构 2019-04-24

    Java的基本程序设计结构 main函数 public class Class-name { ......pub...

网友评论

    本文标题:复习JavaSE 3.Java基本程序设计结构

    本文链接:https://www.haomeiwen.com/subject/jabaeqtx.html