javaSE部分(流程 方法)

javaSE部分(流程 方法)

写在前面:第一次把之前写的笔记搬运至博客,有不足请见谅相关意见可评论告知,分享技术,共同进步 (●ˇ∀ˇ●)

编程路漫漫,学习无止尽!

Author:量子倾曜(QuantumYou)

目录
  • javaSE部分(流程 方法)
    • Scanner 对象
    • next()与nextLine() 区别
      • 控制流程
      • 顺序结构
      • 选择结构
      • 循环结构
        • 练习 打印九九乘法表
        • 增强for循环
        • break continue
      • goto 实列
      • 方法的定义
      • 方法调用
      • 方法的重载
      • 命令行传参
      • 可变参数
      • 递归
    • 数组
      • 数组声明创建
      • 内存分析
      • 三种初始化状态
      • 数组的特点
      • 数组边界
      • 数组进阶
      • 多维数组
      • Arrays 类
      • 冒泡排序
      • 稀疏数组

Scanner 对象

注意:Scanner 是一个类,关键字都为小写的
javaSE部分(流程 方法)_第1张图片
java.util.Scanner 是java5的新特性,我们可以通过Scanner类来获取用户的输入。

注意:通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般使用hasNext()与hasNextLine()判断是否还有输入的数据。

代码

package base;

import java.util.Scanner;

public class Scannner_07 {
    public static void main(String[] args) {
        // 创建一个扫描对象,用于接受键盘数据
        Scanner scanner = new Scanner(System.in) ;

        System.out.println("请输入数据将使用next接收");

        // 判断用户有没有输入字符
        if(scanner.hasNext()){
            // 输入数字
            int num = scanner.nextInt() ;
            System.out.println("输入的数字是"+num);
            // 使用next接受(输入字符串)
            String str = scanner.next() ;
            System.out.println("输入的字符串内容为"+str);
        }

        System.out.println("_______");

        int i=0;
        float f = 0.0f ;

        System.out.println("请输入整数");

        if(scanner.hasNextInt()){
            i =scanner.nextInt() ;
            System.out.println("整数数据"+i);
        }else{
            System.out.println("输入的不是整数数据");
        }

        System.out.println("请输入小数");

        if(scanner.hasNextFloat()){
            f=scanner.nextFloat();
            System.out.println("小数数据"+f);
        }else{
            System.out.println("输入的不是小数数据");
        }


        // 凡是属于IO流,要及时关闭,否则占用资源
        scanner.close() ;
    }
}

next()与nextLine() 区别

javaSE部分(流程 方法)_第2张图片

模块

 Scanner scanner = new Scanner(System.in) ;

   scanner.close() ;

案列

package fill;

import java.util.Scanner;

public class ScannerSum {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in) ;

        System.out.println("这是一个比较三个数大小的程序");
        System.out.println("请输入第一个数");
        int a = sc.nextInt() ;
        System.out.println("请输入第二个数");
        int b = sc.nextInt() ;
        System.out.println("请输入第三个数");
        int c = sc.nextInt() ;

        int temp = a>b ? a : b ;
        int max = c >temp ? c:temp ;
        System.out.println("比较结果"+max);
    }
}

控制流程

顺序结构

选择结构

javaSE部分(流程 方法)_第3张图片
javaSE部分(流程 方法)_第4张图片
反编译 java -- class (字符码文件) -- 反编译(IDEA)

循环结构

while do.... while
for
在 Idea 中 for的快捷键
注意其在一定的区间内
100.for
fori
相关参考链接

https://www.cnblogs.com/wtjqs/p/10486747.html

println 输出完会换行
print 输出完不会换行

练习 打印九九乘法表

(javascript)
javaSE部分(流程 方法)_第5张图片
(java)
javaSE部分(流程 方法)_第6张图片

增强for循环

javaSE部分(流程 方法)_第7张图片
用于优化数组与集合的

break continue

javaSE部分(流程 方法)_第8张图片

goto 实列

在java 中用于for循环
javaSE部分(流程 方法)_第9张图片
相关参考

https://blog.csdn.net/Crazypokerk_/article/details/93359970

System.out.println() 分别为 类 对象 方法
javaSE部分(流程 方法)_第10张图片

方法的定义

javaSE部分(流程 方法)_第11张图片

方法调用

javaSE部分(流程 方法)_第12张图片
java 为值传递

方法的重载

javaSE部分(流程 方法)_第13张图片

命令行传参

javaSE部分(流程 方法)_第14张图片
注意执行路径(关于包)

可变参数

javaSE部分(流程 方法)_第15张图片

递归

javaSE部分(流程 方法)_第16张图片

数组

数组声明创建

javaSE部分(流程 方法)_第17张图片

内存分析

javaSE部分(流程 方法)_第18张图片
javaSE部分(流程 方法)_第19张图片
数组在没有new 的时候是在栈中

三种初始化状态

javaSE部分(流程 方法)_第20张图片

数组的特点

javaSE部分(流程 方法)_第21张图片

数组边界

javaSE部分(流程 方法)_第22张图片

数组进阶

for 高级快捷键

 arrays.for

此处arrays 与要遍历的元素相同
普通数组快捷键

 fori

多维数组

javaSE部分(流程 方法)_第23张图片
二维数组
javaSE部分(流程 方法)_第24张图片

Arrays 类

javaSE部分(流程 方法)_第25张图片

冒泡排序

javaSE部分(流程 方法)_第26张图片
代码

package base;

import java.util.Arrays ;

public class arrayAdvanceTwo_13 {
    public static void main(String[] args) {

        // //二维数组
        int[][] array = {{1,2},{2,3},{3,4},{4,4}} ;

        System.out.println(array[0][1]);

        printArray(array[0]);
        System.out.println(" ");
        System.out.println(array[0]);


        System.out.println("_______");
        int[] a ={1,34,5,2,67,3,45,89,23} ;

        // 打印数组元素方法
        System.out.println(Arrays.toString(a));

        System.out.println("_________");
        // //升序
        Arrays.sort(a) ;
        System.out.println(Arrays.toString(a));

        System.out.println("__________");
        // //填充
        Arrays.fill(a,2,4,0);
        System.out.println(Arrays.toString(a));


        System.out.println("___________");
        // //冒泡排序
        int[] sort = sort(a) ;
        System.out.println(Arrays.toString(sort));



    }

   public static int[] sort(int[] a){
        int temp = 0 ;
       // 冒泡排序  两个for循环 外层冒泡数  里层依次比较
       for (int i = 0; i 

稀疏数组

javaSE部分(流程 方法)_第27张图片
代码

package base;

public class sparseArray_14 {
    public static void main(String[] args) {
        // 1. 创建一个二维数组 11*11
        int[][] array1 = new int[11][11];
        array1[1][2] = 1;
        array1[2][3] = 2;

        System.out.println("输出原始数组");
        // 普通数组形式
        for (int[] ints : array1) {
//            for (int[] ints1 : array1) {
//                System.out.print(ints1+"\t");
//            }        此为输出地址
            for (int anInt : ints) {
                System.out.print(anInt + "\t");
            }
            System.out.println();
        }

        System.out.println("____________");
        //转化为稀疏数组进行保存
        int sum = 0;
        for (int i = 0; i < 11; i++) {
            for (int j = 0; j < 11; j++) {
                if (array1[i][j] != 0) {
                    sum++;
                }
            }
        }
        System.out.println("有效值的个数为" + sum);

        // 创建一个稀疏数组的数组
        int[][] array2 = new int[sum + 1][3];

        array2[0][0] = 11;
        array2[0][1] = 11;
        array2[0][2] = sum;

        // 遍历二维数组   将非零的值放在稀疏数组中
        int count = 0;
        for (int i = 0; i < array1.length; i++) {
            for (int j = 0; j < array1[i].length; j++) {
                if (array1[i][j] != 0) {
                    count++;
                    array2[count][0] = i;
                    array2[count][1] = j;
                    array2[count][2] = array1[i][j];
                }
            }
        }
        System.out.println("稀疏数组");

        for (int i = 0; i < array2.length; i++) {
            System.out.println(array2[i][0] + "\t"
                    + array2[i][1] + "\t"
                    + array2[i][2] + "\t"
            );
        }
        System.out.println("________");
        System.out.println("还原");
        // 读取稀疏数组
        int[][] array3 = new int[array2[0][0]][array2[0][1]];

        // 给元素还原值
        for (int i = 1; i < array2.length; i++) {
            array3[array2[i][0]][array2[i][1]] = array2[i][2];
        }
        System.out.println("输出还原的数组");

        for (int[] ints : array1) {
//            for (int[] ints1 : array1) {
//                System.out.print(ints1+"\t");
//            }        此为输出地址
            for (int anInt : ints) {
                System.out.print(anInt + "\t");
            }
            System.out.println();
        }
    }


}

写在最后:全栈方向,前端已经大部分学完,将会以复习的形式出现在博客,大家敬请期待哈~

你可能感兴趣的:(javaSE部分(流程 方法))