2022-07-14~07-15 第四小组 张家毓 学习笔记 Java

Java

Java基础内容*:

* 引用数据类型(不是基本数据类型就是引用数据类型):

引用数据类型 String (是一个类)

* 命名规则:

1.包命名规则尽量使用全小写字母
2.尽量不要出现下划线符号数字
3.一般情况下,使用站点名的逆序例如"www.baidu.com"
包名com.baidu.模块名
根据实况情况com.baidu.模块.架构.功能.xxxx
(范围小的写前面,大的写后面)

* Scanner:


Scanner练习题:
1.出两个数
num1,num2
当num1=8 num2=9相加
一个等于8或者一个等于9相减
都不相等
各自输入

* 数组:

数组写法

* 循环:

for:continue 终止当前循环开启下一次循环
while:
do…while至少执行一次
while条件不成立一次不执行

* 练习题:

用*打印矩形

练习
for单循环求偶数和

经典switch单循环

猜数字

计算器

public class Caculator {

    public static void main(String[] args) {
        /*
            从键盘输入两个数字和一个符号
            加减乘除
            打印输出计算结果
            其中注意:
            1.除数不能为0
            2.符号输入不对怎么办?
            3.计算器能不能一直算下去。

            《会用到死循环for(;;){}!!!!!!!!!》
         */
        /*
            请输入第一个数:
            1
            请输入第二个数:
            2
            请输入运算符号:
            *
            计算结果为:1*2=2
            是否继续计算:1、是  2、否
         */
        // 可以理解为是准备了一个键盘
        Scanner sc = new Scanner(System.in);
        index:for(;;){
            System.out.println("请输入第一个数:");
            double num1 = sc.nextDouble();
            n2:for(;;){
                System.out.println("请输入第二个数:");
                double num2 = sc.nextDouble();
                fh:for(;;){
                    System.out.println("请输入运算符号:+-*/");
                    String sep = sc.next();
                    switch(sep){
                        case "+":
                            System.out.println(num1 + sep + num2 + "=" + (num1 + num2));
                            break;
                        case "-":
                            System.out.println(num1 + sep + num2 + "=" + (num1 - num2));
                            break;
                        case "*":
                            System.out.println(num1 + sep + num2 + "=" + (num1 * num2));
                            break;
                        case "/":
                            if(num2 == 0){
                                System.out.println("除数不能为0,计算错误...");
                                continue n2;
                            }else {
                                System.out.println(num1 + sep + num2 + "=" + (num1 / num2));
                                break;
                            }
                        default:
                            System.out.println("符号输入错误,请重新输入...");
                            continue fh;
                    }
                    c:for(;;){
                        System.out.println("是否继续计算:1、继续  2、退出");
                        String flag = sc.next();
                        // 我让你输入1或者2,你非得输入3,结果就是你去重新选择
                        switch (flag){
                            case "1":
                                // 继续计算
                                continue index;
                            case "2":
                                // 退出计算
                                System.out.println("计算器即将关闭,谢谢使用...");
                                break index;
                            default:
                                // 再重新让你选择一次
                                System.out.println("您输入的有误,请重新选择!!!");
                                continue c;
                        }
                    }

                }

            }

        }
    }
}

* 算法+数据结构思维:

练习题:

// 查找算法:二分法查找
// 二分法查找必须要有循序

public static void main(String[] args) {
int [] arr = new int[]{1,2,3,4,5,6};
Scanner sc = new Scanner(System.in);
System.out.println("请输入查找的数字");
int target = sc.nextInt();
// 最左边的下标
int left = 0 ;
int right = arr.length-1;
if (target < arr[left] || target>arr[right]){
System.out.println(target+"在数组目标不存在");
}else {
// 用来保存下标用的值
int res = 1;
while (left<=right){
// 找出中间位置
int middle = (left+right)/2;
if(arr[middle] == target){
// 中间的数恰巧致我们的书
res = middle;
break;
// left = arr.length;
}else if(arr[middle]>target){
// 数组在前半区
/**
* 如果在前半区
* 维护left 和right
* left 是不需要动的
* right 移到中间的
*/
right = middle - 1;

        }else {

// 条件实际上arr[middle]<target
// 说明是不需要动的
// left应该移到中间位置
left = middle - 1;
}
}
System.out.println("在目标数组中的下标"+res);
}

*排序法:

冒泡排序:

posted @ 2022-07-15 20:32  JJJ毓  阅读(57)  评论(1)    收藏  举报