JAVA 之 java基础语法

java关键字

关键字概述
    被Java语言赋予特定含义的单词
关键字特点
    组成关键字的字母全部小写
关键字注意事项
    goto和const作为保留字存在,目前并不使用
    类似Notepad++这样的高级记事本,针对关键字有特殊的颜色标记,非常直观

这里写图片描述
这里写图片描述

java 之 标识符

标识符概述
    就是给类,接口,方法,变量等起名字时使用的字符序列
组成规则
    英文大小写字母
    数字字符
    $和_
注意事项
    不能以数字开头
    不能是Java中的关键字
    区分大小写

java标识符(常见命名规则)

包(其实就是文件夹,用于解决相同类名问题)
单级和多级分别举例
类或者接口
    一个单词和和多个单词(全部小写)
方法和变量
    一个单词和和多个单词分别举例(第二个单词字母开始大写)
常量
    一个单词和和多个单词分别举例(全部大写,第二个单词以_分割)

注释

注释概述
    用于解释说明程序的文字
    Java中注释分类格式
        单行注释
            格式: //注释文字
        多行注释
            格式: /*  注释文字  */
        文档注释
            格式:/** 注释文字 */
注释是一个程序员必须要具有的良好编程习惯。
初学者编写程序可以养成习惯:先写注释再写代码。

将自己的思想通过注释先整理出来,在用代码去体现。
因为代码仅仅是思想的一种体现形式而已。

常量

    常量概述
    在程序执行的过程中其值不可以发生改变
        Java中常量分类
    字面值常量
        自定义常量
字符串常量   用双引号括起来的内容
整数常量        所有整数
12,23
小数常量        所有小数
12.34,56.78
字符常量        用单引号括起来的内容
‘a’,’A’,’0’
布尔常量        较为特有,只有true和false
空常量         null

Java针对整数常量提供了4种表现形式
    二进制
    八进制
    十进制
    十六进制
进制概述
    进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。

不同进制的数据组成
    二进制 
        由0,1组成。以0b开头
    八进制 
        由0,1,…7组成。以0开头
    十进制 
        由0,1,…9组成。整数默认是十进制的
    十六进制    
        由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头

进制转换
    其他进制到十进制
        通过十进制推出结论
        把0b100,0100,0x100转换成十进制
    十进制到其他进制
        通过十进制推出结论
        把52分别表示成二进制,八进制,十六进制

十进制和二进制的快速转换
        8421码
        100转成二进制
        101101转成十进制
    二进制和八进制,十六进制如何转换
        以十进制作为桥梁
        二进制到八进制 3位组合
        100110
        二进制到十六进制    4位组合
        100110

有符号数据表示法
    在计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。
    原码
    就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
    反码
    正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
    补码
    正数的补码与其原码相同;负数的补码是在其反码的末位加1。

变量

变量概述
    在程序执行的过程中,在某个范围内其值可以发生改变的量
    理解:如同数学中的未知数
变量定义格式
    数据类型 变量名 = 初始化值;
    注意:格式是固定的,记住格式,以不变应万变

数据类型

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间

这里写图片描述
这里写图片描述

使用变量注意事项:

作用域 
    变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
    初始化值
    没有初始化值不能直接使用
    在一行上建议只定义一个变量
    可以定义多个,但是不建议

+是一个运算符, 我们应该能够看懂,做数据的加法。
    boolean类型不能转换为其他的数据类型
    默认转换
        byte,short,char—int—long—float—double
        byte,short,char相互之间补转换,他们参与运算首先转换为int类型
    强制转换
        目标类型 变量名=(目标类型)(被转换的数据);

运算符

算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算符
三目运算符

这里写图片描述

算术运算符

+,-,*,/都是比较简单的操作,简单演示即可
    +的几种作用:
    加法
    正数
    字符串连接符
    除法的时候要注意一个问题:
    整数相除,只能得到整数
    要想得到小数,可以*1.0

/和%的区别
    ++和--的应用
    单独使用效果相同
    参与运算使用,在操作数的前后效果不同

赋值运算符

    符号:
    = , +=, -=, *=, /=, %=
    =为基本的赋值运算符,其他的为扩展的赋值运算符

这里写图片描述
这里写图片描述

逻辑运算符

逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
“&”和“&&”的区别:
    单&时,左边无论真假,右边都进行运算;
    双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
    “|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。

这里写图片描述
这里写图片描述

三目运算符

格式
    (关系表达式)?表达式1:表达式2;
    如果条件为true,运算后的结果是表达式1;
    如果条件为false,运算后的结果是表达式2;
示例:
    获取两个数中大数。
    int x=3,y=4,z;
    z = (x>y)?x:y;//z变量存储的就是两个数的大数。

键盘录入数据

键盘录入数据概述
    我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,所以,我准备把数据改进为键盘录入,提高程序的灵活性。
如何实现键盘录入数据呢?(目前先记住使用)
    导包(位置放到class定义的上面)
    import java.util.Scanner;
    创建对象
    Scanner sc = new Scanner(System.in);
    接收数据
    int x = sc.nextInt();

流程控制语句

    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。
流程控制语句分类
    顺序结构
    选择结构
    循环结构

顺序结构

顺序结构概述
    是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
    总的来说:写在前面的先执行,写在后面的后执行

这里写图片描述

选择结构

    选择结构
    也被称为分支结构。
    选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。
    Java语言提供了两种选择结构语句
    if语句
    switch语句

选择结构(if语句)

if语句有三种格式
if语句第一种格式:
if(关系表达式) {
             语句体
    }
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体

选择结构(switch语句)

格式解释
    switch表示这是switch语句
    表达式的取值:byte,short,int,char
    JDK5以后可以是枚举
    JDK7以后可以是String
    case后面跟的是要和表达式进行比较的值
    语句体部分可以是一条或多条语句
    break表示中断,结束的意思,可以结束switch语句
    default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

执行流程
    首先计算出表达式的值
    其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
    最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

注意事项
    case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
    default可以省略吗?
    可以省略。一般不建议。除非判断的值是固定的。(单选题)
    break可以省略吗?
    可以省略,一般不建议。否则结果可能不是你想要的
    default的位置一定要在最后吗?
    可以出现在switch语句任意位置。
    switch语句的结束条件
    遇到break
    执行到程序的末尾
switch语句格式:
switch(表达式) {
          case1:
            语句体1;
            break;
            case2:
            语句体2;
            break;
            …
            default:    
            语句体n+1;
            break;
    }

这里写图片描述

循环结构

    循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

循环语句的组成
    初始化语句:
    一条或者多条语句,这些语句完成一些初始化操作。
    判断条件语句:
    这是一个boolean 表达式,这个表达式能决定是否执行循环体。
    循环体语句:
    这个部分是循环体语句,也就是我们要多次做的事情。
    控制条件语句:
    这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

循环结构(for循环语句)

    for循环语句格式:
for(初始化语句;判断条件语句;控制条件语句) {
         循环体语句;
    }
执行流程
A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
C:执行循环体语句
D:执行控制条件语句
E:回到B继续

注意事项
    判断条件语句的结果是一个boolean类型
    循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。
    一般来说:有左大括号就没有分号,有分号就没有左大括号

这里写图片描述

循环结构(while循环语句)

while循环语句格式:
基本格式
   while(判断条件语句) {
         循环体语句;
   }
扩展格式
   初始化语句;
   while(判断条件语句) {
         循环体语句;
         控制条件语句;
    }

这里写图片描述

循环结构(for循环和while循环的区别)

    for循环语句和while循环语句可以等价转换,但还是有些小区别的
使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
场景区别:
    for循环适合针对一个范围判断进行操作
    while循环适合判断次数不明确操作

循环结构(do…while循环语句)

dowhile循环语句格式:
基本格式
   do {
         循环体语句;
   }while((判断条件语句);
扩展格式
   初始化语句;
   do {
         循环体语句;
         控制条件语句;
    } while((判断条件语句);

这里写图片描述

循环结构(区别及注意事项)

    三种循环语句其实都可以完成一样的功能,也就是说可以等价转换,但还是有小区别的:
    do…while循环至少会执行一次循环体。
    for循环和while循环只有在条件成立的时候才会去执行循环体
    注意事项:
    写程序优先考虑for循环,再考虑while循环,最后考虑do…while循环。
    如下代码是死循环
    while(true){}
    for(;;){}

跳转控制语句(break)

break的使用场景:
    在选择结构switch语句中
    在循环语句中
    离开使用场景的存在是没有意义的
break的作用:
    跳出单层循环
    跳出多层循环
        带标签的跳出
        格式:标签名: 循环语句
        标签名要符合Java的命名规则

跳转控制语句(continue)

continue的使用场景:
    在循环语句中
    离开使用场景的存在是没有意义的
continue的作用:
    单层循环对比break,然后总结两个的区别
    break  退出当前循环
    continue  退出本次循环

跳转控制语句(return)

    return关键字不是为了跳转出循环体,更常用的功能是结束一个方法,也就是退出一个方法。跳转到上层调用的方法。

这里写图片描述
这里写图片描述

(工作需要……顺便整理……欢迎大家补充提意见)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章