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);
}
*排序法:
冒泡排序:


浙公网安备 33010602011771号