ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

07.11 课堂笔记

2022-07-11 19:32:32  阅读:173  来源: 互联网

标签:case int res System 笔记 07.11 println 课堂 out


0711课堂笔记

上午

一、运算符

1.逻辑运算符

 

  • 与运算

    //A&&B  A和B都为TRUE  表达式的结果才TRUE
    boolean bool = price>=2000&&price<=3000;
  • 或运算

    //A||B A或B有一个为TRUE  则表达式的结果就为TRUE
    bool = price<2000 || price>5000;
  • 非运算

    int age = 23;
    bool= !(age<20);
  • 短路

    //与运算的短路
    int a=1;
    bool = a++<0&&a++!=0;//A&&B A为FALSE B不需要被运算(被短路)
    System.out.println(bool);
    System.out.println(a);
    //或运算的短路
    a=1;
    bool = a++>0||a++!=0;//A||B A为TRUE B不需要被运算(被短路)
    System.out.println(bool);
    System.out.println(a);

 

 

2.一元运算符

a++后加加:先赋值后加加 (赋值给表达式a++)

++a前加加:先加加后赋值

a--后减减:先赋值后减减

--a前减减:先减减后赋值

a=1;
int b = a++;
System.out.println(b);
//b输出结果为1


a=1;
int b=++a;
System.out.println(b);
//b输出结果为2

3.位运算符(二进制数值运算)(位运算没有短路现象)

将A和B转换为二进制 右上对齐,上下位比较

①.&按位与(有0则0 全1才1)

int a,b;
a=192;
b=255;
res = a&b;
System.out.println(res+" 与运算 a&b");

//输出结果为192

②.|按位或(有1则1 全0才0)

res = a|b;
System.out.println(res+" 或运算 a|b");
//输出结果为255

③.^按位异或(两个相同则为0 不同则为1)

res = a^b;
System.out.println(res+" 异或运算 a^b");
//输出结果为63

4.三元运算符(A?B:C)

看A(Boolean)的结果,如果是TRUE则取B的值,如果是FALSE则取C的值

double price = 2900;
int x =  price < 3000 ? 'a':'b';
System.out.println(x=='a'?"yes":"no");
//输出结果为yes

 

5.移位运算符

①.<<

A<<B A的二进制向左移B位

res = 7<<2;//  7=>111   左移两位后 : 11100=>28
System.out.println(res);
//输出结果为28

 

②.>>

A>>B A的二进制向右移B位

res = -1>>2;
//-1=> 1111···1111
//向右移两位后 新空位补1 : 1111111···111
//res = -1
System.out.println(res);

 

 

③.>>>

A>>>B A的二进制带符号位一起向右移B位

res = -1>>>2;
//-1=>1111····1111
//带符号位向右移两位 新空位补符号位0 : 001111···1111
//res = 1073741823
System.out.println(res);

 

注意

a=1;
boolean bool = a++>0||a++<0&&a++!=0;
//短路现象优先级高于 与、或
System.out.println(bool);//true
System.out.println(a);//a=2

 

下午

 

实例

交换两数的值

public static void main(String[] args) {
   int a=12;
   int b=23;


   //1.借助第三变量
   int c;
   c=a;
   a=b;
   b=c;
   System.out.println(a);
   System.out.println(b);


   //2.求和
   a=12;
   b=23;
   a= a+b;
   b=a-b;
   a=a-b;
   System.out.println(a);
   System.out.println(b);


   //3.异或
   a=12; // 01100
   b=23; // 10111
   a=a^b;//a=11011
   b=a^b;//b=01100=12
   a=a^b;//a=10111=23
   System.out.println(a);
   System.out.println(b);

}

 

二、分支判断

1. if语句

if...else...

int price=12;
if (price>20) {
   System.out.println("这是一个刺客");
}else {
   System.out.println("还ok");
}

if...else if...else

Scanner sc = new Scanner(System.in);
int grade = sc.nextInt();
if (grade>=90){
   System.out.println("优秀");
}
else if (grade>=80){
   System.out.println("良好");
}
else if (grade>=60){
   System.out.println("及格");
}
else {
   System.out.println("不及格");
}

 

实例

看看能卖什么车

Scanner sc = new Scanner(System.in);
long deposit = sc.nextLong();
if (deposit<1000){
   System.out.println("买个自行车吧");
}
else if (deposit<10000){
   System.out.println("夏利欢迎你");
}
else if (deposit<1000000){
   System.out.println("宝马欢迎你");
}
else if (deposit<1000000000){
   System.out.println("随便买");
}

 

2. switch...case...default 匹配性分支

Switch当匹配到某一个case项 并从这里开始运行 可以用break进行语句控制 (可以匹配的类型有:byte 、short、int、char、string、枚举类型)

Scanner sc = new Scanner(System.in);
int a=sc.nextInt();
switch (a){

   case 1:
   case 2:
   case 3:
       System.out.println("第一季度");
       break;
   case 4:
   case 5:
   case 6:
       System.out.println("第二季度");
       break;
   case 7:
   case 8:
   case 9:
       System.out.println("第三季度");
       break;
   case 10:
   case 11:
   case 12:
       System.out.println("第四季度");
       break;
   default:
       System.out.println("other");
       break;

}

 

三、数组

1.定义(声明)

 

静态:

int[] arr = {1,2,3,4,5};
arr = new int[]{1,3,5,6};

动态:

arr = new int [6];
arr[1]=12;

2.数组的使用

使用下表来调用元素

开始的下标位0

 

arr[1]= (int)2.00000000000001000000000000000;
double[] d={80,90,70,60};
for (double x:d)
   System.out.println(x);
/*输出结果为:
80.0
90.0
70.0
60.0
*/
for (int y:arr)
   System.out.println(y);
/*输出结果为
0
2
0
0
0
0
*/

 

二维数组只能约束自身子元素的个数 不能约束子元素的中元素的个数

int [] arr1 = {1,2,3,4,5};
int [][] arr2 = new int[3][2];//int[3][2]的2可以省略
arr2[0] = arr1;
arr2[1] = new int[]{2, 3, 4, 5, 6, 7};
for (int x:arr2[1])
   System.out.println(x);

 

3.弊端:

1.已经声明的数组不可以扩容

2.已经声明的数组储存的元素类型是固定的

课后作业01

声明一个数组 用控制台输入他的值 并打印出来

    public static void main(String[] args) {
       //数组赋值
       int [] arr = new int[3];
       Scanner sc = new Scanner(System.in);
       for (int i=0;i<arr.length;i++) {
           int x = sc.nextInt();
           arr[i]=x;
      }
       for (int y :arr)
           System.out.println(y);

  }

输入值:1 2 3

输出结果 :

1

2

3

 

课后作业02

编写代码 打印出以上数组所有元素之和

public static void main(String[] args) {
   int [] arr = new int[3];
   Scanner sc = new Scanner(System.in);
   for (int i=0;i<arr.length;i++) {
       int x = sc.nextInt();
       arr[i]=x;
  }


   //求和
   int sum=0;
   for (int x : arr)
       sum+=x;
   System.out.println(sum);
}

输入值:4 5 6

输出结果:15

标签:case,int,res,System,笔记,07.11,println,课堂,out
来源: https://www.cnblogs.com/qq1078973635/p/16467593.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有