• Java学习笔记(二)


    14.5 逻辑运算符

    逻辑与&    逻辑或|   逻辑非!  逻辑异或^

    短路与&&   短路或||

    14.5.1

    逻辑与&,也就是并且

    总结:当两个条件都为true时,则结果为true,否则为false

    14.5.2

    逻辑或,也就是或者

    总结:当两个条件中有一个为true时,则结果为true,否则为false

    14.5.3

    逻辑非!,也就是取反

    注意:只对boolean类型的值取反

    14.5.4

    逻辑异或

                         true ^ true ---->false

                         true ^ false---->true

                         false ^ true --->true

                         false ^ false --->false

    14.5.5

    短路与,类似于逻辑与,都表示并且

                         注意:1.逻辑与、短路与的执行结果一样,但是执行过程可能不同,当使用短路与时,第一个条件为false则结果为false

                         当有逻辑与、短路与时,建议使用短路与

    14.5.6

     短路或,类似于逻辑或,都表示或者

    注意:1.逻辑或、短路或时执行结果一样,但是执行过程不同,当使用短路或时,第一个条件为true时,则结果为true

    总结:1.逻辑运算符最终结果为boolean类型的值

                  2.除了逻辑非以外,剩余的逻辑运算符都是两个条件,并且两个条件都是boolean类

    14.6 三目运算符

    三目运算符也叫做条件运算符

                  语法格式:

                         条件 ? 代码1 : 代码2

    class MyClass{
        public static void main(String[] args){
        String s = 10 > 100 ? "大于" : "小于等于";//三目运算符
        System.out.println(s);
        }
    }

    =与==、&与&&、|与||区别

           4.1 =与==区别

                  =是赋值运算符,将右侧的值赋给左侧的变量名称

                  ==是关系运算符,判断左边的值是否与右边的值相等,结果为boolean类型

           4.2 &与&&区别

                  &、&&都属于逻辑运算符,都表示并且,两个执行结果相同,执行过程不同

                  &是逻辑与

                  &&是短路与

           4.3 |与||区别

                  |、||都属于逻辑运算符,都表示或者,两个执行结果相同,但是执行过程不同

                  |是逻辑或

                  ||是短路或

    15.键盘接收用户输入

    键盘接收用户输入

        15.1操作步骤:

                  第一步:导入包,必须Java源文件中的第一行

                         import java.util.Scanner;

                  第二步:创建Scanner对象

                         Scanner input = new Scanner(System.in);

                  第三步:友好提示

                         System.out.print("请输入:");

                  第四步:键盘接收用户输入

                         int a = input.nextInt();  //注意:当运行到该条语句时,程序等待用户接收键盘输入,当输入完毕必须按回车键,并将回车之前的所有内容赋给a

                         double x = input.nextDouble();

                         String name = input.next();    //注意:在Java中,键盘接收字符串类型没有nextString(),而是使用next()

                         String s = input.next();  //注意:在java中,键盘不能直接接收字符类型,而是先接收字符串类型,然后在字符串中获取第0个位置中的值,使用charAt(0)

                         char sex = s.charAt(0);

                         boolean b = input.nextBoolean();

    import java.util.Scanner; //导包 
    
    class Input1{
        public static void main(String[] args){
            //键盘输入某个人的信息(名字、性别、年龄、婚否)
            Scanner input = new Scanner(System.in); //创建Scanner对象
            System.out.print("请输入姓名:");    //友好提示
            String name = input.next();    //注意:在Java中,键盘接收字符串类型没有nextString(),而是使用next() 
            System.out.print("请输入性别:");
            String s = input.next();            //注意:在java中,键盘不能直接接收字符类型,而是先接收字符串类型,然后在字符串中获取第0个位置中的值,使用charAt(0)
            char sex = s.charAt(0);
            System.out.print("请输入年龄:");
            int age = input.nextInt();
            System.out.print("请输入婚否(已婚为true,未婚为false):");
            boolean b = input.nextBoolean();
    
        }
    }
     

      

    16.选择结构

    程序流程控制有三大结构:

           顺序结构:从上至下按顺序依次执行

           选择结构

           循环结构

    16.1选择结构

         16.1.1 if选择结构

                  语法格式:

                         if(条件){

                                代码块

                         }

          

    import java.util.*;
    class If01{
        public static void main(String[] args){
            //练习1:假如考试成绩在95分以上则有奖励
            Scanner input = new Scanner(System.in);
            System.out.print("请输入考试成绩:");
            double a = input.nextDouble();
                    if(a > 95)
          System.out.println(
    "有奖励");
          } System.out.println(
    "OK"); }

         16.1.2 if else选择结构

                  语法格式:

                         if(条件){

                                代码块1

                         }else{

                                代码块2

                         }

          

    class If02{
          public static void main(){
                   Scanner input = new Scanner(System.in);
    		System.out.print("请输入一个成绩:");
    		double a = input.nextDouble();
        
                 if(a > 95){
    			System.out.println("有奖励");
    		}else if(a <= 95){
    			System.out.println("发红包");
    		}  
         }          
    }
    

      

         16.1.3多重if选择结构

                  当有两种或两种以上情况时,则可以使用多重if选择结构

                  语法格式:

                         if(条件1){

                                代码块1

                         }else if(条件2){

                                代码块2

                         }

    注意:1.多重if选择结构中的else if(){}可以有任意多个

    2.多重if选择结构中的else是可有可无的,如果编写,最多编写1个,并且只能编写在最后

    16.1.4.if嵌套

    import java.util.*;
    class If01{
    	public static void main(String[] args){
    		/*
    			练习1:假如成绩为100分则评为优秀,
    								  成绩在90分以上则评为良好,
    								  成绩在60分以上则评为及格,
    								  否则评为不及格
    		*/
    		Scanner input = new Scanner(System.in);
    		System.out.print("请输入一个成绩:");
    		double a = input.nextDouble();
                        if(a == 100){
    			System.out.println("优秀");
    		}else if(a >= 60 && a < 90){
    			System.out.println("及格");
    		}else if(a >= 90){
    			System.out.println("良好");
    		}else{ //也就是60分以下的
    			System.out.println("不及格");
    		}
    
                }
        }            
    

      

    16.2.switch case

    语法格式

                  switch('1'){

                  case '1':

                         System.out.println("奖励一台电脑");

                         break;

                  case '2':

                  case '3':

                  default:

                  }

          

    注意:

    1.表达式可以是byte short int String char 枚举

    2.可以编写任意多个case

    3.表达式的类型必须与常量值的类型一致

    4.break表示中断switch case

    5.default是可有可无的,如果有default,当所有case都不满足时则执行default

    6.switch case中的break是可有可无的,当遇到break则中断switch case,当没有break则从当前匹配的case后进行穿透

    7.case的顺序是可以颠倒的,不影响程序的运行结果,一般是按照顺序进行编写

    8.default的顺序是可以编写在任意位置,当所有case都不满足时则执行default,建议default编写在所有case的后面

    9. case是可以合并的

    ==与equals()区别

           == 当在基本数据类型中使用比较的是真正的值

              当在引用数据类型中使用比较的是地址

           equals() 只对引用数据类型进行使用,并且比较的是内容

    .switch case与多重if区别

           相同点:

                  都是选择结构程序

           不同点:

                  switch case只能做等值操作

                  多重if可以做等值也可以做区间

    17.循环结构

        17.1循环:

    定义:

    当做重复事情时,则可以使用循环

        17.2循环特点:

    循环条件、循环操作(循环体)

        17.3常用的循环:

    for循环、while循环、do while循环

        17.3.1  for循环

             17.3.1.1语法格式:

                         for(表达式1;表达式2;表达式3){

                                循环体

                         }

                         注意:1.表达式1完成变量的初始值,如:int i = 1;

    2.表达式2完成循环条件的判断,当条件为true则执行循环体,否则循环结束,如:i <= 5;

                                3.循环体完成重复的事情

                                4.表达式3完成变量值的更改,如:i++

    17.3.1.2  for循环注意事项

    注意:1.for循环中三个表达式都可以省略,但是分号必须不能省略,则出现死循环也叫做无限循环,如果强行终止按ctrl + c

                         for(;;){

                                System.out.println("HelloWorld");

                         }

    注意:2.当省略表达式1,则出现编译错误,解决办法:将表达式1编写在for循环上面

                         int i = 1;

                         for(;i <= 5;i++){

                                System.out.println(i);

                         }

    注意:3.当省略表达式2,则出现死循环也叫做无限循环,也就是说当省略表达式2则条件默认为true

                         for(int i = 1;;i++){

                                System.out.println(i);

                         }

    注意:4.当省略表达式3,则出现死循环,解决办法:将表达式3编写在循环体中的最后一条语句

                         for(int i = 1;i <= 5;){

                                System.out.println(i);

                                i++;

                         }

    注意:5.如果在循环外输出表达式1中的值,则出现编译错误,解决办法:将表达式编写在for循环上面进行声明并赋值

                         int i = 1;

                         for(;i <= 5;i++){

                                System.out.println(i);

                         }

                         System.out.println(i);  //6

    17.3.1.3双重循环

    也叫做二重循环

           1.1定义:在java中,在一个循环中又包含另一个循环

                  for(;;){  //外层循环

                         for(;;){  //内层循环

                         }

                  }

           结论:当外层循环执行1次,则内层循环执行1遍

    选择结构、循环结构统称为控制结构

    if(){

           if(){

           }else{

           }

    }

    for(;;){

           if(){

           }

    }

           注意:控制语句中可以包含控制语句

    17.3.2.while循环

         17.3.2.1语法格式:

                  while(循环条件){

                         循环体

                  }

         17.3.2.2执行流程:

                  首先判断条件,当条件为true时,则执行循环体,然后再判断条件......一直到循环条件为false时循环结束

    17.3.3.do while循环

           17.3.3.1特点:

    先执行循环体,然后再判断条件

         17.3.3.2语法格式:

                  do{

                         循环体

                  }while(循环条件);

           3.3执行流程:

                  先执行循环体,然后再判断条件,但条件为true时,则继续执行循环体,再判断条件........一直到循环条件为false时循环结束

    总结:三种循环异同点

    1.语法格式不同

                  for(;;){

                  }

                  while(){

                  }

                  do{

                  }while();

           2.执行顺序不同

                  for循环和while循环:先判断条件,当条件为true时,则执行循环体

                  do while循环:先执行循环体,然后再判断条件

           3.使用情况不同

                  当循环次数固定时,建议使用for循环

                  当循环次数不固定时,建议使用while循环、do while循环

                         ---先判断再执行循环体,则使用while循环

                         ---先执行循环体,然后再进行判断,则使用do while循环

           4.当循环条件第一次就为false时,则

                  for循环和while循环执行0次循环体,0次----N次

                  do while循环,执行1次循环体,1次---N次

    补充:循环中break和continue的使用

    在循环中遇到break则结束当前整个循环,执行循环外面的语句。

    在循环中遇到continue语句,则结束当次循环,则继续执行下一次循环。

    他们的异同点:

    1.使用场合不同

                  break可以在switch case中或循环中使用

                  continue只能在循环中使用

    2.作用不同

                  break:结束当前整个循环,执行循环外面的语句

                  continue:结束当次循环,则继续执行下一次循环

    18.方法

        18.1定义:

    实现具体的一个功能

           18.2方法的分类:

    1.系统提供的方法:nextInt() 、nextDouble()、print()

                                         ......

    1. 用户自定义的方法:

    (1)定义方法的语法格式:

    修饰符 返回值类型 方法名称([参数列表]){}

    注意:1. 在java中[]中的内容是可选择的

    2.暂时将方法的修饰符编写为public static

    3.返回值类型有两种:

    第一种:无返回值类型,编写为void

    第二种:有返回值类型

    4.方法名称也就是名字,标识符

    建议方法名称见名知意,最好编写为动词,如:print     add

    建议采用驼峰命名法,如:getName show      setAge

    5.方法体就是该方法实现的 具体功能

        

    *****注意:1.用户自定义的方法,编写在类中

             2.程序运行必须先执行main方法

             3.方法定义好以后并不会自动执行,则必须进行方法的调用

             4.一个方法可以多次进行调用

             3.调用方法的语法格式:

                    类名.方法名称([参数列表]);

             4.方法的好处:

                    减少代码的冗余性(重复)

    5.

                                  方法内存分析图

  • 相关阅读:
    Lipschitz连续
    免费的论文查重网站
    花瓶的一些记录
    Transfrom笔记
    视频处理笔记
    黑魔法的注意的一些点
    UIScrollView的一些关系
    UILabel中NSAttributedString和其LinebarkModel等属性之间的关系
    lame音频编码注意的点
    AFNetworking的缓存使用
  • 原文地址:https://www.cnblogs.com/kosinggit/p/8619770.html
Copyright © 2020-2023  润新知