今天的课主要是讲了以下几个部分(目前出于Java的基础巩固部分,知识点比较详细):

1.java中的运算符

public class Test3{
public static void main(String[] args){
//&相当于串联电路,同时为1时结果为1
//00011011
//00001110
//结果为00001010
// | 相当于并联电路,有一个一时结果为1,也可以发生在布尔表达式
//00011011
//00001110
//00011111
//&&和||主要发生在逻辑运算中,作用于多个布尔表达式

System.out.println(1 == 5 && 73 == 64);//false
//在进行逻辑判断时,建议将复杂的表达式添加括号
System.out.println(1 == 5 || 64 == 64);//true
//位运算要求表达式两边都得出结果(执行)
System.out.println(1 == 5 & 64 == 64);//false
System.out.println(1 == 5 | 64 == 64);//true
}

}

2.异或的原理以及引用

public class Test4{
public static void main(String[] args){
//对对碰原则:相同为0相异为1 
//00000001
//00000010
//00000011

byte a = 2;
byte b = 1;
//与0异或
//与1异或
//a^0=a
//a^b=b^a(满足交换律)
//a^(b^c)=(a^b)^c(满足结合律)

System.out.println(a ^ b);
System.out.println(a ^ 0);
System.out.println(a ^ a);
System.out.println(a ^ 1);
}

}

大数据day02(java部分)

与本身异或为0

与0异或为本身

可以用异或来完成两个数的值交换{

a=a^b;

b=a^b;

a=a^b;

}

3.if语句的讲解与实列(一个小型的专家系统);

public class Test6{
public static void main(String[] args){
   int a = 6;
  if(a == 5){
             System.out.println("a的值为5");
            }else{
                  System.out.println("a的值不为5");
                 }
System.out.println("if后的代码");
                 if(a == 5){
System.out.println("a的值为5");
}else if(a == 6){
System.out.println("a的值为6");
}else{
System.out.println("a的值为5或者6");
}
//专家系统:经过多次判断,在相应的结果中找出最符合的
//数据唯独:性别-》年龄-》工作-》收入

String sex = "男";
int age = 25;
String job = "讲师";
double salary = 9999.99;
//第一级判断
if(sex == "男"){
//第二级判断
if(age >= 20&& age <30){
//第三级判断
if(job == "蓝领"){
}else if(job == "白领"){
//第四级判断
if(salary < 20000 && salary >= 1000){
//输出结果
System.out.println("活着挺好的");
}
}
}else if(job == "讲师"){
if(salary < 10000 && salary >= 8000){
System.out.println("你活得还可以,不错");
}else if(salary < 8000 && salary >= 6000){
System.out.println("你还能活着");
}
}
}
if(age >= 30&& age < 40){
if(job == "蓝领"){
}else if(job == "白领"){
}else if(job == "讲师"){
if(salary < 9000 && salary >= 7000){
System.out.println("你活得还可以,不错");
}else if(salary < 7000 && salary >= 5000){
System.out.println("你还能活着");
}
}
}
     }
  } 

  例子中很好的运用if条件语句,并将if语句深化,对其进行嵌套,做出小型的专家系统;

4.switch语句及case的讲解与应用

//import:用来导入预定义(jdk中以及自定义)的类文件 
import java.util.Scanner;
public class Test7{
public static void main(String[] args){
// jdk1.6之后支持String类型
Scanner sc = new Scanner(System.in);
//初始化Scanner对象-》初始化一个工具类
//将控制台的内容以字符串的类型读入
//根据相应的方法进行数据转换

System.out.println("请输入年龄:");
int age = sc.nextInt();
System.out.println("请输入性别:");
sc = new Scanner(System.in);
//如果在程序输出时出现连续输出情况时需要用到sc = new Scanner(System.in);
String sex = sc.nextLine();
System.out.println("请输入职业:");
String job = sc.nextLine();
System.out.println("请输入薪资:");
sc = new Scanner(System.in);
double salary = sc.nextFloat();
switch(sex){
// 如果不使用break语句,代码将从匹配case开始一直执行
// 直到整个结构结束,或者遇到break语句
// break用于跳出循环结构,或者switch当中的case

case "男":
System.out.println("性别为男");
switch(age / 10){
case 2:
System.out.println("年龄段在20-30之间");
switch(job){
case "讲师":
System.out.println("讲师工作");
switch((int)salary / 2000){//根据两千分档
case 3:
System.out.println("工资在6000-8000");
break;
case 4:
System.out.println("工资在8000-10000");
break;
}
switch((int)salary / 1000){//根据一千分档
case 6:
case 7:
System.out.println("工资在6000-8000");
break;
case 8:
case 9:
System.out.println("工资在8000-10000");
break;
}
break;
}
break;
case 3:
System.out.println("年龄段在30-40之间");
break;
}
break;
case "女":
System.out.println("性别为女");
break;

default:// 当所有的case都没有匹配时进入执行,必须放在最后

默认情况,必须写好放置在匹配语句的最后;因为需要在默认情况的前面对所有的条件进行匹配。
System.out.println("defalut部分");

}
}
}

5.while循环的讲解以及循环的应用

在循环体当中如果需要跳出当前循环,用break,break只能跳出当前的一层!!!

public static void main(String[] args){
  int i = 1;
  //实现求和,1+.....+10
  //循环体结构,小括号中填写循环终止条件(boolean)
  //用于标识循环次数的变量
   //先判断条件,为真则执行循环体内容,假则结束循环

   int sum =0;
  while(i <= 10){
  //循环体中执行的是重复性的代码
    sum +=i;//第一次:1
     i ++;//自增1
}
System.out.println(sum);
//先执行第一次循环体中的内容,再判断
int j = 1;
sum = 0;
do{
sum += j;
j++;
}while(j<=10);
System.out.println(sum);
int k ;
sum = 0;
//小括号中的第一部分:初始化变量;循环体之前最先执行的代码
//第二部分:循环体的终止条件;
//第三部分:循环体执行之后执行的代码

for (k=1;k<=10;k++){
sum += k;
System.out.println(sum);
}
      
}
 

  }

6.死循环(死循环有很多的应用场景,多看多理解多敲

public class Test9{
//死循环
public static void main(String[] args){
 //当循环次数不确定时,数据库查询出的数据
 //死循环中可以使用if语句手动控制结束(break)

  while(true){
    sum +=i;//第一次:1
     i ++;//自增1
//手动控制循环跳出时与循环条件相反(补集)
     //if(!(i <= 10)){
if(i >= 10){
//只能跳出临近自身最接近的一层循环
break;
}
}
System.out.println(sum);
int j = 1;
sum = 0;
//当某些必要初始化过程,供后续程序使用
do{
sum += j;
j++;
}while(true);
System.out.println(sum);
//循环次数可控,最常用的集合遍历方式
//foreach加强for循环

int k = 1;
for (;;){
//循环体中出现定义语句时,需要注意
sum += k;
k++;
if(k>=10){
break;
}
System.out.println(sum);
}
}

}

7.例题:打印9行数据为1-9

public class Test10{

public static void main(String[] args){

   //打印9行数据为1-9
   //1 2 3 4 5 6 7 8 9
   //1 2 3 4 5 6 7 8 9
   int i;
   int j;
   for(i=1;i<10;i ++){
   System.out.print("第"+i+"行");//只打印不换行
   for(j=1;j<10;j ++){
   System.out.print(j+" ");
   }
     System.out.println();
      }     
   }

}

8.例题:对字符串进行比较

public class Test11{

public static void main(String[] args){

String  sex1 = "男";
String  sex2 = "男";
System.out.println(sex1 == sex2);
String  s1 = "12";
String  s2 = "3"
//==比较的时地址
System.out.println("123" == (s1 + s2));
//equals ->判断两个字符串的长度->按次序比较每一个字符
System.out.println("123".equals (s1 + s2));
}

}

作业部分:用if和swith写一个简单的专家系统,需要用到最少4层循环();控制台手动输入数据,需要对数据进行验证

import java.util.Scanner;
public class Price2{
public static void main(String[] args){
     Scanner sc = new Scanner(System.in);
     System.out.println("欢迎来到酒店查询系统");
while(true){
         while(true){
String provence;
char[] chs;
    boolean flag = false;
while(true){
System.out.println("请输入需要查询的省: ");
provence = sc.nextLine();
chs = provence.toCharArray();
for(int i=0; i<chs.length; i++){
int n = 0;
try{
n = String.valueOf(chs[i]).getBytes("UTF-8").length;
}catch(Exception e){
e.getMessage();
}
if(n > 1){
flag = true;
}else{
flag = false;
break;
}
        } 
if(flag){
break;
}else{
System.out.println("数据输入有误,请重试!");
}
}
if(!provence.equals("广东") && !provence.equals("江西") ){
System.out.println("该地区暂不提供服务");
}
if(provence.equals("广东") || provence.equals("江西")){
break;
    }   
}  
while(true){
System.out.println("请输入需要查询的市: ");
String city = sc.nextLine();
    if((((!city.equals("深圳") && !city.equals("江门")) && (!city.equals("南昌"))) && (!city.equals("赣州")))){
System.out.println("该地区暂不提供服务");
continue;
}
if((((city.equals("深圳") || city.equals("江门")) || (city.equals("南昌"))) || (city.equals("赣州")))){
    break;
}
}
while(true){
System.out.println("请输入要查询的地区:");
String area = sc.nextLine();
if(((((!area.equals("宝安区") && !area.equals("福田区")) && (!area.equals("东风乡"))) && (!area.equals("红谷滩")))) && (!area.equals("章贡区"))){
System.out.println("该地区暂不提供服务");
continue;
}
if(((((area.equals("宝安区") || area.equals("福田区"))|| area.equals("东风乡")) || area.equals("红谷滩")) || area.equals("章贡区"))){
System.out.println("请输入要查询的价格: ");
            sc = new Scanner(System.in);
            int price = sc.nextInt();
    if(area.equals("宝安区")){ 
            if(price <=100){
        System.out.println("附近无此价格的酒店或旅馆!");
    }else if (price >100 && price <=200){
    System.out.println("领航精品酒店");
    }else if (price >200 && price <= 400){
    System.out.println("深圳美豪酒店");
    }else if (price >400 && price <= 600){
    System.out.println( "深圳中濠精致酒店");
    }else if(price >600){
System.out.println("暂无此价格的酒店");
}
break;
          }
if(area.equals("福田区")){
        switch( price / 100){
case 0:
case 1:
System.out.println("深圳火车站旅馆!");
break;
case 2:
System.out.println("深圳凯信快捷酒店");
break;
case 3:
System.out.println("深圳银泉酒店");
break;
case 4:
System.out.println( "深圳楚天大酒店");
break;
default:
System.out.println( "暂无此价格的酒店");
    }
    break;
    }
    if(area.equals("东风乡")){
        switch( price / 100){
case 0:
case 1:
System.out.println("东风乡旅馆!");
break;
case 2:
System.out.println("帝豪精品酒店");
break;
case 3:
System.out.println("酒店");
break;
case 4:
System.out.println( "深圳中濠精致酒店");
break;
default:
System.out.println( "暂无此价格的酒店");
    }
    break;
    }
if(area.equals("红谷滩")){
        switch( price / 100){
case 0:
case 1:
System.out.println("深圳火车站旅馆!");
break;
case 2:
System.out.println("领航精品酒店");
break;
case 3:
System.out.println("深圳美豪酒店");
break;
case 4:
System.out.println( "深圳中濠精致酒店");
break;
default:
System.out.println( "暂无此价格的酒店");
    }
    break;
    }
if(area.equals("章贡区")){
        switch( price / 100){
case 0:
case 1:
System.out.println("深圳火车站旅馆!");
break;
case 2:
System.out.println("领航精品酒店");
break;
case 3:
System.out.println("深圳美豪酒店");
break;
case 4:
System.out.println( "深圳中濠精致酒店");
break;
default:
System.out.println( "暂无此价格的酒店");
    }
    break;
    }
}
}
System.out.println("是否需要重新查询(Y/N)?");
sc = new Scanner(System.in);
String select = sc.nextLine();
if ("N".equals(select) || "n".equals(select)){
System.out.println("感谢您的使用");
    break;
}
    }
    }

}

写死的酒店查询系统,有数据验证等功能,并且有多于4层的这样一个循环。

写该系统的过程中所用到的部分测试代码:

测试1(对输入的数据验证其是否是中文,直接裸写在代码里面)

import java.util.Scanner;
public class CeShi1{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String provence;
while(true){
while(true){
System.out.println("请输入需要查询的省: ");
provence = sc.nextLine();
char[] chs = provence.toCharArray();
boolean flag = false;
        for(int i=0; i<chs.length; i++){         
        try{
int n = 0;
n = String.valueOf(chs[i]).getBytes("UTF-8").length;
if(n > 1){
flag = true;
break;
}else{
System.out.println("数据输入有误,请检查后重试");
continue;
}
        }catch(Exception e){
         e.getMessage();  
        }

}
if(!provence.equals("广东") && !provence.equals("江西") ){
System.out.println("该地区暂不提供服务");
continue;
}
if(provence.equals("广东") || provence.equals("江西")){
break;
}
}
}

}

测试2(验证数据是否是中文,用方法和方法调用)

import java.util.Scanner;
public class CeShi2{
public static void main(String[] args){
Scanner sc; 
sc = new Scanner(System.in);
System.out.println("欢迎来到酒店查询系统");
System.out.println("请输入需要查询的省: ");
String provence = sc.nextLine();
char[] chs = provence.toCharArray();
CeShi(chs);
CeShi1(chs);
System.out.println("神经病");

}
public static void CeShi(char[] chs){
Scanner sc;
sc = new Scanner(System.in);
boolean flag = false;


for(int i=0; i<chs.length; i++){
int n = 0;
try{
n = String.valueOf(chs[i]).getBytes("UTF-8").length;
}catch(Exception e){
e.getMessage();

}
if(n > 1){
flag = true;
    }else{
flag = false;
break;
}


if(flag){

}else{
System.out.println("数据输入有误,请检查后重试!");
}
}
}

 

相关文章:

  • 2021-05-20
  • 2021-11-30
  • 2021-06-17
  • 2021-12-19
  • 2021-12-03
  • 2021-09-23
  • 2021-07-21
猜你喜欢
  • 2021-12-09
  • 2021-05-29
  • 2021-08-10
  • 2021-12-25
  • 2022-01-14
  • 2022-01-28
  • 2022-02-26
相关资源
相似解决方案