• 二、基本语法


    1.java关键字的使用
    定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
    特点:关键字中所字母都为小写

    2.保留字:现Java版本尚未使用,但以后版本可能会作为关键字使用。
    注意:自己命名标识符时要避免使用这些保留字 

    3.标识符的使用
    定义:凡是自己可以起名字的地方都叫标识符。
    涉及到的结构:类名、变量名、方法名、接口名、包名、常量名

    规则:(必须要遵守。否则,编译不通过)

    由26个英文字母大小写,0-9 ,_或 $ 组成
    数字不可以开头。
    不可以使用关键字和保留字,但能包含关键字和保留字。
    Java中严格区分大小写,长度无限制。
    标识符不能包含空格。

    规范:(可以不遵守,不影响编译和运行。但是要求大家遵守)
    包名:多单词组成时所字母都小写:xxxyyyzzz
    类名、接口名:多单词组成时,所单词的首字母大写:XxxYyyZzz
    变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
    常量名:所字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

    注意点:在起名字时,为了提高阅读性,要尽量意义,“见名知意”。

    1.变量的分类
    1.1 按数据类型分类


    //1.整型:byte (1字节:-128~127) / short (2字节) / int (4字节) / long(8字节)
    //通常,我们将一个整型变量定义为int。
    //如果定义long型变量,必须后缀为:l或L
    //整型的常量,默认为int型。
    //2.浮点型:float (4字节)/ double (8字节)
    //从存储数据的表数范围上讲:float的范围比long要大。
    //如果定义float型变量,必须后缀为:f或F
    //通常,我们将一个浮点型变量定义为double.
    //浮点型的常量,默认为double型
    //3.字符型:char (2字节)
    //通常情况下,声明一个字符,使用一对''
    //char的不同表示方式:1.声明一个字符 2.声明转义字符 3.使用Unicode码(了解)
    //4.布尔型:boolean
    //只能保存true 或 false. 不能取值为null. (Boolean:null)
    //常常在条件判断、循环中,使用boolean型变量

    1.2 按声明的位置分类(了解)


    2.定义变量的格式:
    1)数据类型 变量名 = 初始化值
    2)数据类型 变量名;
    变量名 = 初始化值;

    3.变量使用的注意点:
    1)变量必须先声明,后使用。
    2)变量都有其定义所在的一对{}。这一对{}即为其作用域。
    3)变量只有在其定义的作用域内才有效。
    4)变量在定义时,一定会包含:数据类型,变量名,初始化值。
    4.变量类型转换
    4.1 涉及到的基本数据类型:
    4.2 自动类型转换(只涉及7种基本数据类型):
    容量小的数据类型和容量大的数据类型的变量做运算,运算的结果为容量大的数据类型。
    byte 、short 、char --> int --> long --> float --> double
    特别地,byte、short、char三者之间做运算,结果为int型。

    4.3 强制类型转换(只涉及7种基本数据类型):
    1.自动类型提升的逆过程。
    2.容量大的数据类型的变量如果想转换为容量小的数据类型的变量,就需要使用强制类型符进行转换。
    3.强制类型转换符:()
    注意点:强转过程中,有可能出现精度损失的情况。

    4.4 String与8种基本数据类型间的运算
    1.String类属于引用数据类型的变量
    2.String类型的变量值使用一对""括起来表示。
    3.String类与基本数据类型(8种)变量之间只能做连接运算:+
    4.String类与基本数据类型(8种)变量做运算的结果为:String类型

    1.编程中涉及的进制及表示方式:
    二进制:0,1 ,满2进1.以0b或0B开头。
    十进制:0-9 ,满10进1.
    八进制:0-7 ,满8进1. 以数字0开头表示。
    十六进制:0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写。
    如:0x21AF +1= 0X21B0

    算数运算符

    1.取余:% : 余数的符号与被模数的符号相同
    2.(前)++ :先自增1,然后再运算
    (后)++ :先运算,后自增1
    3.(前)-- :先自减1,然后再运算
    (后)-- :先运算,后自减1
    4. 连接符:+:只适用于String 和其他类型的变量之间。结果一定是String型。

    赋值运算符   “ = ”

    比较运算符

    1.运算的结果,都是boolean类型。
    2. == 和 != 也适用于非数值型的变量。

    逻辑运算符

    1.运算符操作的是boolean型变量,运算的结果也为boolean类型
    2.
    //& 与 && : 两个符号判断以后的结果是相同的。
    //相同点:如果符号左边的值为true,两个运算符都要执行符号右边的运算。
    //不同点:如果符号左边的值为false,&:仍然要执行符号右边的运算。&&:不在执行符号右边的运算
    //开发中:习惯于使用:&&

    // | 与 ||:两个符号判断以后的结果是相同的。
    //相同点:如果符号左边的值为false,两个运算符都要执行符号右边的运算。
    //不同点:如果符号左边的值为true,&:仍然要执行符号右边的运算。&&:不在执行符号右边的运算
    //开发中:习惯于使用:||

    位运算符

    1.操作的都是数值型变量
    2. << : 在一定范围内,每左移一位,相当于数值 * 2 :过犹不及
    >> : 在一定范围内,每右移一位,相当于数值 / 2
    >>>:右移以后,最高位拿0补。

    6.三元运算符:(条件表达式)? 表达式1 : 表达式2;
    【典型代码】
    //获取两个整数的较大值
    int m = 10,n = 10;
    int max = (m > n)? m : n;
    System.out.println("较大值为:" + max);
    //获取三个整数的最大值
    //方式一:
    int num1 = 23,num2 = 44,num3 = 2;
    //int max1 = (num1 > num2)? num1 : num2;
    //int max2 = (max1 > num3)? max1 : num3;
    //方式二:
    int max2 = (((num1 > num2)? num1 : num2) > num3)? ((num1 > num2)? num1 : num2) : num3;
    System.out.println(max2);
    【特别说明的】
    1.条件表达式的结果为boolean.
    2.根据boolean类型的值,决定执行表达式1 (true) 还是表达式2 (false).
    3.表达式1 与 表达式2 要保持一致!
    4.三元运算符可以相互嵌套

    5.三元运算符一定可以转换为使用if-else实现。反之,不成立。
    如果既可以使用三元运算符,又可以使用if-else,建议使用三元运算符。因为:简单,执行效率高。

    顺序结构:程序从上到下执行。
    分支结构:
    if-else 和 switch-case
    循环结构:
    for
    while
    do-while

    1.if-else条件判断结构
    1.结构一:
    if(条件表达式){
    执行代码块;
    }

    结构二:
    if(条件表达式){
    执行代码块1;
    }else{
    执行代码块2;
    }

    结构三:
    if(条件表达式1){
    执行代码块1;
    }else if(条件表达式2){
    执行代码块2;
    }else if(条件表达式3){
    执行代码块3;
    }
    ...
    else{
    执行代码块2;
    }


    2.说明:
    1.else结构:可选的。
    2.如果两个条件表达式没有公共的交集,此时两个else if结构,可以交换顺序。
    如果两个条件表达式有公共的交集,"即为包含关系时",要求将范围小的条件表达式放在范围大的条件表达式的上面,此时两个条件表达式才有可能都被执行到。
    3.if-else可以嵌套使用的
    4.如果if-else中的执行语句只有一行,那么可以省略其所在的一对{}.但是不建议大家省略.

    2.switch-case选择结构
    1.结构:
    switch(表达式){
    case 常量1:
    执行语句1;
    //break;
    case 常量2:
    执行语句2;
    //break;
    ...
    default:
    执行语句n;
    //break;
    }
    2.说明:
    1.根据case中的情况,选择满足条件的case进入执行其语句。执行完此case中的语句后,仍会继续向下执行其他的case语句,直到遇到break或者执行完所有的case结束。
    2.break:可以使用在switch-case结构中,表示结束当前的switch-case结构。
    3.default:是可选的,同时位置是灵活的。
    4.switch中的表达式代表的数据类型只能是如下的这些:byte short char int 枚举类的对象 String(jdk7.0新增)
    5.switch-case适用于变量取值不多,而且表达式满足指定的6种变量类型的情况。
    6.如果多个case中的执行语句相同,可以合并。
    7.凡是使用switch-case实现的结构,都可以转换为if-else实现。
    反之,不成立。
    8.在switch-case和if-else都可以使用的情况下,switch-case的执行效率更高一些。

    1.循环结构的四要素
    ①初始化条件
    ②循环条件 --->boolean类型的结果
    ③循环体
    ④迭代条件
    说明:当循环条件返回false时,结束循环结构
    2.三种循环结构:
    2.1 for循环结构
    for(①;②;④){
    ③;
    }

    执行过程:①-②-③-④-②-③-④-②-③-④-.....-②
    2.2 while循环结构

    while(②){
    ③;
    ④;
    }

    执行过程:①-②-③-④-②-③-④-②-③-④-...-②
    说明:
    在while循环的{}内,别忘了声明④,如果忘了,会导致死循环的出现.我们写程序,需要避免死循环!

    总结:
    1.只要是循环的需求,都可以考虑使用for循环,或者使用while循环.
    2.for循环和while是可以相互转换的!
    3.不同点:关于初始化在出了循环结构以后的调用上:while还可以调用,for不可以调用了。

    2.3 do-while循环结构

    do{
    ③;
    ④;
    }while(②);

    执行过程:①-③-④-②-③-④-②-③-④-...②


    说明:do-while:至少执行一次循环体!

    3.“无限循环”结构: for(;;) 或者 while(true)

    总结:如何结束一个循环结构?
    ①循环条件返回false时
    ②在循环体中,满足某个条件的情况下,执行break

    4.嵌套循环
    1.嵌套循环:一个循环结构a,作为另一个循环结构b的循环体出现。
    内层循环:循环结构a
    外层循环:循环结构b

    2.说明:
    1)外层循环控制行数,内层循环控制列数。
    2)内层循环循环次数为m次,外层循环循环次数n次,则一共需要循环m * n次。

    break与continue

  • 相关阅读:
    设计模式—简单工厂、工厂方法、抽象工厂
    设计模式—抽象工厂
    设计模式—工厂模式
    java设计模式—设计模式概述
    java设计模式—单例模式
    【转】谈谈我对服务熔断、服务降级的理解
    Python使用笔记005-文件操作(二)
    python使用笔记004-冒泡排序
    Jmeter使用笔记001
    python使用笔记003-文件操作(一)
  • 原文地址:https://www.cnblogs.com/-hongchen/p/7469172.html
Copyright © 2020-2023  润新知