目录

  • Java基础知识点
  • 基础语法
  • 分支结构
  • 循环结构

Java基础知识点

(1)Java是跨平台的一门语言,JVM;

(2)JRE和JDK

  • JRE:运行java程序;
  • JDK:开发java程序。

image-59

(3)常见DOS命令

操作 说明
盘符名称: 盘符切换。E:回车,表示切换到E盘。
dir 查看当前路径下的内容。
cd 目录 进入单级目录。
cd .. 回退到上一级目录。
cd 目录1\目录2\.. 进入多级目录。
cd | 回退到盘符目录。
cls 清屏。
exit 退出命令提示符窗口。

基础语法

(1) 注释

  • 单行注释

    • 格式://注释信息
  • 多行注释

    • 格式:/注释信息/
  • 文档注释

    • 格式:/*注释信息/

(2) 常量 :在程序运行过程中,其值不可以发生改变的量。

  • Java常量分类
常量类型 说明
字符串常量 用引号括起来的内容
整数常量 不带小数的数字
小数常量 带小数的数字
字符常量 用单引号括起来的内容
布尔常量 布尔值,表示真假
空常量 一个特殊的值,空值

(3) 数据类型

  • 数据类型分类
    1. 基本数据类型
      1. 数值型
        • 整数(byte,short,int,long)
        • 浮点数(float,double)
        • 字符(char)
      2. 非数值型
        • 布尔(boolean)
    2. 引用数据类型
      • 类(class)
      • 接口(interface)
      • 数组([ ])
  • 数据类型内存占用
关键字 内存占用
byte 1
short 2
int(默认) 4
long 8
float 4
double(默认) 8
char 2
boolean 1

(4) 变量

  • 定义:数据类型 变量名 = 变量值;例如:int a = 10;
  • 变量的使用:
    • 取值:变量名例如:a
    • 修改值:变量名=变量值;例如:a = 20;
  • 变量使用的注意事项:
    1. 不能使用相同的变量名;
    2. 变量未赋值时,不能使用;
    3. 定义long类型变量时,为了防止整数太大,后面要加上L
      • long a = 10000000000L;
    4. 要想让一个小说定义为一个float类型,为了防止类型不兼容,要在赋值的后面加上一个F
      • float f = 13.14F;

(5) 标识符 :就是给类、方法、变量等起名字的符号

  • 标识符的定义规则:
    • 数字字母下划线美元符组成;
    • 不能以数字开头;
    • 不能是关键字;
    • 区分大小写。
  • 常见命名约定:
    • 小驼峰命名法:方法和变量;
    • 大驼峰命名法:类。

(6) 类型转换

image-63

  • 类型转换的分类:
    1. 自动类型转换:如图(1)
      • 把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量
      • 例子:double b = 10;// 输出的是10.0
    2. 强制类型转换:
      • 把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量
      • 格式:目标数据类型 变量名 = (目标数据类型)值或者变量;
      • 例子:int k = (int)88.88;// 输出的值为88

(7) 算术运算符

  • 运算符:对常量或者变量进行操作的符号
  • 表达式:用运算符把常量连接起来符合Java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。
  • 例子:int a = 10;int b = 20;int c = a + b;
    +:运算符;a + b:表达式。
符号 作用
+
-
*
/
% 取余

(8) 字符的“+”操作

  • 在进行加操作的时候,拿字符在计算机底层对应的数值来进行计算的(ASCII码)
  • 算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型自动进行提升。提升规则:
    • byte类型,short类型和char类型将被提升到int类型
    • 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
      等级顺序:byte,short,char->int->long->float->double

(9) 字符串的“+”操作

  • 当“+”操作中出现字符串时,是字符串连接符,而不是算术运算。
  • 在“+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算符。
  • 当连续进行“+”操作时,从左到右逐个执行。

(10) 赋值运算符

符号 作用
= 赋值
+=(隐含了强制类型转换) 加后赋值
-= 减后赋值
*= 乘后赋值
/= 除后赋值
%= 取余后赋值

(11) 自增自减运算符

符号 作用
++ 自增
-- 自减
  • 单独使用的时候,++和–放在前面和后面结果都是一样的;
  • 参与操作的时候,如果放在变量后面,先拿变量参与操作,后拿变量做++或–;
  • 参与操作的时候,如果放在变量前面,先拿变量做++或–,后拿变量参与操作。

(12) 关系运算符

符号 说明
== 判断是否相等
!= 判断是否不相等

| 判断是否大于
=| 判断是否大于等于
<| 判断是否小于
<=| 判断是否小于等于

  • 注意事项:
    • 关系运算符的结果都是布尔类型,要么是true,要么是false;
    • 千万不能将==写成=

(13) 逻辑运算符

符号 作用 说明
& 逻辑与 有false则false
逻辑或 有true则true
^ 逻辑异或 相同为false,不同为true
! 逻辑非 与原来的布尔值相反

短路逻辑运算符:

符号 作用 说明
&& 短路与 作用和&相同,但是有短路效果
短路或

(14) 三元运算符

  • 格式:关系运算符?表达式1:表达式2;
  • 范例:a > b ? a : b;
  • 计算规则:
    • 首先计算关系表达式的值
    • 如果值为true,表达式1的值就是运算结果
    • 如果值为false,表达式2的值就是运算结果

(15) 数据输入

  • 导包

    • import java.util.Scanner;
      导包的动作必须出现在类定义的上边
  • 创建对象

    • Scanner sc = new Scanner(System.in);
      上面这个格式里面,只有sc是变量名,可以变,其他的都不允许变。
  • 接收数据

    • int i = sc.nextInt();
      上面这个格式里面,只有i是变量名,可以变,其他的都不允许变。

分支结构

(1) 流程控制

  • 分类:
    • 顺序结构
    • 分支结构(if,switch)
    • 循环结构(for,while,do…while)
  • 顺序结构:是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

(2) if语句

  • if语句格式1

    • 格式:
      if(关系表达式){
      语句体;
      }
  • if语句格式2

    • 格式:
      if(关系表达式){
      语句体1;
      }else{
      语句体2;
      }
  • if语句格式3

    • 格式:
      if(关系表达式1){
      语句体1;
      }else if(关系表达式2){
      语句体2;
      }
      ….
      else{
      语句体n+1;
      }

(3) switch语句

  • 格式:
    switch(表达式){
    case 值1:
    语句体1;
    break;
    case 值2:
    语句体2;
    break;

    default:
    语句体n+;
    [break];
    }

循环结构

(1) 循环结构

  • 特征:重复做某件事情,具有明确的开始和停止标志
  • 组成:
    • 初始化语句
    • 条件判断语句
    • 循环体语句
    • 条件控制语句

(2) for循环

  • 格式:
    for(初始化语句;条件判断语句;条件控制语句){
    循环体语句;
    }

  • 执行流程:

    1. 执行初始化语句;
    2. 执行条件判断语句,看其结果是true还是false
      • 如果是false,循环结束
      • 如果是true,继续执行
    3. 执行循环体语句
    4. 执行条件控制语句
    5. 会到2继续

(3) while循环

  • 基本格式:
    while(条件判断语句){
    循环体语句;
    }

  • 完整格式:
    初始化语句;
    while(条件判断语句){
    循环体语句;
    条件控制语句;
    }

  • 执行流程:

    1. 执行初始化语句;
    2. 执行条件判断语句,看其结果是true还是false
      • 如果是false,循环结束
      • 如果是true,继续执行
    3. 执行循环体语句
    4. 执行条件控制语句
    5. 会到2继续

(4) do……while循环语句

  • 基本格式:
    do{
    循环体语句;
    }while(条件判断语句);

  • 完整格式:
    do{
    循环体语句;
    条件控制语句;
    }while(条件判断语句);

  • 执行流程:

    1. 执行初始化语句
    2. 执行循环体语句
    3. 执行条件控制语句
    4. 执行条件判断语句,看其结果是true还是false
      • 如果是false,循环结束
      • 如果是true,继续执行
    5. 回到2继续

(5) 三种循环的区别

  • for循环和while循环先判读条件是否成立,然后决定是否执行循环体(先判断后执行)
  • do……while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)
  • for和while的区别:
    • 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
    • 条件控制语句所控制的自增变量,对于while循环来说不归属语法结构中,在while循环结束后,该变量还可以继续使用

(6) 跳转控制语句

  • continue:用于循环中,基于条件控制,跳过某次循环内容的执行,继续下一次的循环;
  • break:用于循环中,基于条件控制,终止循环体内容的执行,也就是结束当前的整个循环。

(7) Random

  • 作用:用于产生一个随机数
  • 使用步骤:
    • 导包:
      import java.util.Random 导包的动作必须出现在类定义的上面

    • 创建对象:
      Random r = new Random(); 上面这个格式里面,r是变量名,可以变,其他的都不允许变

    • 获取随机数:
      int number = r.nextInt(10);// 获取数据的范围:[0,10) 上面这个格式里面,number是变量名,可以变,数字10可以变,其他的都不允许变