01.Java基础语法

一、计算机基础知识

  • 二进制
    • 计算机内部全部采用二进制数表示,只包含0、1两个数,逢二进一。每个0或1叫做一个 bit (比特)。
      • 进制之间的转换
        • 十进制转换成二进制数据:使用除以2获取余数的方式。
        • 二进制转换成十进制数据:使用8421编码方式。
  •  字节
    • 字节是计算机中最小的存储单元,计算机储存任何数据,都是以字节的形式储存。
    • 8个 bit 表示为1个字节,写成1 byte 或1 B。
      • 1 B = 1024 bit
      • 1 KB = 1024 B
      • 1 MB = 1024 KB
      • 1 GB = 1024 MB
      • 1 TB = 1024 GB
  • 常用 DOS 命令
    • 进入 DOS 操作窗口
      • 按下 WIN + R 键,打开运行窗口,输入 cmd 回车,进入 DOS 操作窗口。
    • 常用命令

      

 二、Java 语言开发环境搭建

  • Java 虚拟机——JVM
    • JVM (Java Virtul Machine) :Java 虚拟机,简称 JVM ,是运行所有 Java 程序的假想计算机,是 Java 程序的运行环境,是 Java 最具吸引力的特性之一。我们编写的 Java 代码,都运行在 JVM 之上。
    • 跨平台:

      

  • JRE 和 JDK
    • JRE (Java Runtime Environment) :是 Java 程序的运行时环境,包含 JVM 和运行时所需要的核心类库。 
    • JDK (Java Development Kit):是 Java 程序开发工具包,包含 JRE 和开发人员使用的工具。
  • 关系图

        

  • JDK 9 安装
    • 安装路径不要包含中文和空格。
    • 公共JRE可以不装。
  • 配置环境变量
    • 计算机——属性——高级系统设置——高级——环境变量
      • JAVA_HOME:JDK 9的安装目录
      • 配置path:%JAVA_HOME%\bin;

三、HelloWorld 入门程序

  • 开发步骤
    • 三步:编写、编译、运行。

    

  • 编写
    • 使用 notepad++ 软件编写
      • notepad++ 初始化设置(两处)

      

    • 编写

      

      • 注意事项
        • 文件名必须是 HelloWorld ,保证文件名和类名一致。
    • 编译
      • 在 DOS 命令行中,进入 Java 源文件的目录,使用 javac 命令进行编译。

        • 命令:javac  Java源文件名.后缀名
    • 运行
      • 在 DOS 命令行中,进入 Java 源文件的目录,使用 java 命令进行运行。
        • 命令:java  类文件名 

四、常量

  • 概述  
    • 常量是指在 Java 程序中固定不变的数据。
  • 分类

     

五、变量和数据类型

  • 概述
    • 在程序中可以变化的量成为变量。
      • Java 中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。
  •  数据类型
    • 分类
      • 基本数据类型:整数、浮点数、字符、布尔
      • 引用数据类型:字符串、数组、类、接口、Lambda
    • 注意事项
      • 字符串是引用数据类型
      • 浮点型可能只是一个近似值,并非精确的值。
      • 数据范围与字节数不一定相关,例如 float 取值范围比 long 大,但 float 是4个字节,而 long 是8个字节。
      • 浮点数中默认类型是 double。如果一定要使用 float 类型,需要加上后缀 F 。
      • 整数默认是 int 类型,如果一定要使用 long 类型,需要加上后缀 L 。
    • 基本数据类型
      • 四类八种
      • Java 中的默认数据类型:整数类型是int,浮点类型是double。

      

  • 变量的定义
    • 格式:数据类型    变量名    =    数据值;
      • long 类型:建议数据后加 L 表示。
      • float 类型:建议数据后加 F 表示。
    • 注意事项
      • 变量名称:在同一个大括号范围内,变量的名字不可以相同。
      • 变量赋值:定义的变量,不赋值不能使用。
      • 对于 float 和 long 类型,字母后缀 F 和 L 不要丢掉。
      • 如果使用 byte 和 short 类型的变量,右侧的数据值不能操作左侧类型的范围。
      • 变量使用不能超过作用域的范围。
        • 作用域:从定义变量的一行开始,一直到所属的大括号结束为止。

六、数据类型转换

  • 概述
    • Java 程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。
  • 自动转换
    • 将取值范围小的类型自动提升为取值范围大的类型。
      • 转换规则
        • 范围小的类型向范围大的类型提升,byte 、short、char 运算时直接提升为 int 
  • 强制转换
    • 将取值范围大的类型强制转换成取值范围小的类型。
      • 格式
        • 范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据
  • 注意事项:
    • 强制类型转换可能会发生精度损失,数据溢出。
      • 精度损失:浮点数转成整数,直接取消小数点。
      • 数据溢出:满了。
    • byte / short / char 这三种类型都可以发生数学运算(ASCII编码表)。
    • byte / short / char 这三种类型在运算的时候,会先自动提升为 int 类型,然后再计算。
    • boolean 类型不能发生数据类型转换。
  • ASCII码表
    • 概念:将人类的文字和一个十进制的数字对应起来组成的一张表。
      • 字符    数值
      •   0   48
      •  ‘A’        65
      •  'a'        97  

七、运算符

  • 算数运算符

  

    • 四则运算中 “+” 的三种常见用法
      • 对于数值来说,就是加法
      • 对于字符 char 来说,在计算之前,char 会提升为 int ,然后在计算。
      • 对付字符串 String 来说,加号代表字符串的连接。
        • 任何数据类型和字符串进行连接的时候,结果都会是字符串。
    • 自增运算符:++
    • 自减运算符:--
      •  含义:让一个变量涨一个数字1,或者减一个数字1。
      • 使用格式:写在变量名之前(前 ++),或者写在变量名之后(后 ++)。
      • 使用方式
        • 单独使用:不和其他任何操作混合,自己独立成一个步骤。
        • 混合使用:和其他操作混合,例如与赋值混合、与打印操作混合等。
      • 使用区别
        • 在单独使用时,前 ++ 和后 ++ 没有任何区别。
        • 在混合的时候,有【重大区别】
          • 如果是【前 ++】,那么变量【立刻马上+1】,然后拿着结果进行使用。【先加后用】
          • 如果是【后 ++】,那么首先使用变量本来的数值,【然后再让比那辆+1】。【先用后加】
    • 注意事项
      • 只有变量才能使用自增、自减运算符,常量不可发生改变,所以不能用。
  • 赋值运算符

    

    • 注意事项
      • 只有变量才能使用赋值运算符,常量不能使用。
      • 复合赋值运算符隐含了一个强制类型转换。

      

  • 比较运算符

    

    • 运算结果都是布尔值。
  • 逻辑运算符

    

    • “&&” 和 “||” ,具有短路效果:如果根据左边已经可以判断得到最终结果,那么右边的代码将不再运行,从而提高性能。
    • 注意事项
      • 逻辑运算符只能用于布尔值。
      • 与、或需要左右各自有一个布尔值,但是入返只要有唯一的一个布尔值即可。
      • 与、或两种运算符,如果有多个条件,可以连续写。
        • 两个条件:条件 A && 条件 B
        • 多个条件:条件 A && 条件 B && 条件 C ...
  •  三元运算符
    • 格式
      • 数据类型    变量名称    =    条件判断  ?  表达式 A  :  表达式 B ;
      • 首先判断条件是否成立:
        • 如果成立,将表达式 A 的值赋值给左边的变量。
        • 不成立,将表达式 B 的值赋值给左边的变量。
    • 注意事项
      • 必须同时保证表达式 A 和表达式 B 的值都符合左侧数据类型的要求。
      • 三元运算符的结果必须被使用。

八、方法入门

  • 概述
    • 将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能,需要时再去调用。
    • 定义格式
      • 修饰符    返回值类型    方法名(参数列表){
        •  代码...
        •    return; 
      • }
    • 注意事项
      • 方法定义的先后顺序无所谓。
      • 方法的定义不能产生嵌套包含关系。
      • 方法定义好了之后,不会执行的。如果要想执行,一定要进行方法的【调用】。

 九、流程控制

  • 判断语句
    • if

       

    • if...else

      

    • if...else if...else

      

  • 选择语句
    • switch 语句格式

      

    • switch语句中,表达式的数据类型,可以是 byte,short,int,char,enum(枚举),JDK7 后可以接收字符串。
    • case的穿透性
      • 在switch语句中,如果 case 的后面不写 break ,将出现穿透现象,也就是不会在判断下一个 case 的值,直接向后运行,直到遇到 break,或者整体 switch 结束。
  • 循环语句
    • for 循环语句格式

     

    • while 循环语句格式

      

    • do...while循环格式

      

    • 三种循环的区别
      • 如果条件判断从来没有满足过,那么 for 循环和 while 循环将会执行0次,但是 do-while 循环会执行至少一次。
      • for 循环的变量在小括号当中定义,只有循环内部才可以使用。while 循环和 do-while 循环初始化语句本来就在外面,所以出来循环之后还可以继续使用。   
    • break 关键字的两种常见用法
      • 可以用在switch语句当中,一旦执行,整个switch语句立刻结束。
      • 可以用在循环语句当中,一旦执行,整个循环语句立刻结束。打断循环。
    • continue
      • 一旦执行,立刻跳过当前次循环剩余内容,马上开始下一次循环。
    • 嵌套循环
      • 格式

        

      • 举例:打印时分秒。

 十、方法复习

  • 方法定义的完整格式

    修饰符    返回值类型    方法名称(参数类型    参数名称, ...) {
        方法体
        return 返回值;
    }

    • 修饰符:现阶段的固定写法,public static
    • 返回值类型:也就是方法最终产生的数据结果是什么类型
    • 方法名称:方法的名字,规则和变量一样,小驼峰
    • 参数类型:进入方法的数据是什么类型
    • 参数名称:进入方法的数据对应的变量名称
      • PS:
        • return:两个作用,第一停止当前方法,第二将后面的返回值还给调用处。
  • 方法调用的三种格式
    • 单独调用:方法名称(参数);
    • 打印调用:System.out.println(方法名称(参数));
    • 赋值调用:数据类型 变量名称 = 方法名称(参数);
      • PS
        • 返回值类型固定写为void,这种方法只能够单独调用,不能进行打印调用或者赋值调用。
  • 方法注意事项
    • 方法应该定义在类当中,但是不能在方法当中再定义方法。不能嵌套。
    • 方法定义的前后顺序无所谓。
    • 方法定义之后不会执行,如果希望执行,一定要调用:单独调用、打印调用、赋值调用。
    • 如果方法有返回值,那么必须写上“ return 返回值;”,不能没有。
    • return后面的返回值数据,必须和方法的返回值类型,对应起来。
    • 对于一个void没有返回值的方法,不能写return后面的返回值,只能写return自己。
    • 对于void方法当中最后一行的return可以省略不写。
    • 一个方法当中可以有多个return语句,但是必须保证同时只有一个会被执行到,两个return不能连写。
  • 方法重载(Overload)
    • 概述
      • 多个方法的名称一样,但是参数列表不一样。
    • 方法重载与下列因素相关
      • 参数个数不同
      • 参数类型不同
      • 参数的多类型顺序不同
    • 方法重载与下列因素无关
      • 与参数的名称无关
      • 与方法的返回值类型无关
    • 在调用输出语句的时候,println 方法其实就是进行了多种数据类型的重载形式。

猜你喜欢

转载自www.cnblogs.com/su920602/p/12442959.html
今日推荐