01JAVA基础

目录

1.基础语法

[1.1 注释](#1.1 注释)

[1.2 关键字](#1.2 关键字)

[1.3 常量](#1.3 常量)

[1.4 数据类型](#1.4 数据类型)

[1.5 变量](#1.5 变量)

[1.6 标识符](#1.6 标识符)

[1.7 类型转换](#1.7 类型转换)

2.算数运算符和分支语句

[2.1 算数运算符](#2.1 算数运算符)

1.常规运算符

2.赋值运算符

3.自增自减

4.关系运算符

5.逻辑运算符

6.三元运算符

[2.2 数据输入(Scanner)](#2.2 数据输入(Scanner))

[2.3 分支判断语句](#2.3 分支判断语句)

[1. if相关语句](#1. if相关语句)

2.switch语句

3.循环相关内容

[1. for循环](#1. for循环)

[2. while循环语句](#2. while循环语句)

[3. do...while循环](#3. do...while循环)

4.跳出控制语句

5.生成随机数(Random)

4.数组

1.数组的定义

2.数组初始化

3.数组内容输出

4.数组常见问题和操作


1.基础语法

1.1 注释

// 单行注释

/*

多行注释

*/

1.2 关键字

解释: 被java语言赋予了特定的含义的单词

特点: 关键字全部小写

1.3 常量

解释: 在程序运行中,其值不可以发生改变的量

常量的分类

|------|------------|-------------|
| 常量类型 | 说明 | 举例 |
| 字符串 | 用双引号括起来的内容 | "HelloWord" |
| 整数 | 不带小数的数字 | 666 |
| 小数 | 带小数的数字 | 13.14 |
| 字符 | 用单引号括起来的内容 | 'A' '你' |
| 布尔 | 布尔值,表示真假 | true false |
| 空常量 | 一个特殊的值,空值 | null |

1.4 数据类型

前言计算机相关知识普及: 计算机存储设备的最小信息单元叫位(bit),也称为比特位,通常用小写字母b表示,计算机最小存储单元叫字节(byte),用B表示.由8个位组成

1B(字节) = 8bit 1KB = 1024B 1M = 1024KB 1GB = 1024MB 1TB = 1024GB

基本数据类型的内存占用和取值范围

|------|---------|------|-----------------|
| 数据类型 | 关键字 | 内存占用 | 取值范围 |
| 整数 | byte | 1 | -128~127 |
| 整数 | short | 2 | -32768~32767 |
| 整数 | int | 4 | -2^31~2^31-1 |
| 整数 | long | 8 | -2^63~2^63-1 |
| 浮点 | float | 4 | ~ |
| 浮点 | double | 8 | ~ |
| 字符 | char | 2 | 0~65535 |
| 布尔 | boolean | 1 | true,false |

1.5 变量

解释:程序运行过程中,其值可以发生改变(存储在内存上)

格式: 数据类型 变量名 = 变量值 (int a = 1)

修改变量的值 变量名 = 变量值 (a = 10)

1.6 标识符

规则:由数字,字母,下划线和$组,不能以数字开头,不能是关键字,区分大小写

常见的命名规则:(小驼峰命名:方法和变量)一个字母时首字母小写,多个字母时,第一个首字母小写,其它首字母大写 (大驼峰命名:类)无论单个还是多个首字母都大写

1.7 类型转换

1.自动类型转换,范围小的赋值给大的 2. 强制类型转换(精度容易丢失),范围大的赋值给范围小的

格式: 目标数据类型 变量名 = (目标数据类型)值或变量 (int a = (int)13.14)

2.算数运算符和分支语句

2.1算数运算符

1.常规运算符
    • * / %(取余)
2.赋值运算符

int i = 0; i = i +1 可以写成 i += 1 一般情况下二者等价

short j = 0; j = j +1 会报错因为1为int类型,j为short类型

但是 j=j+1不报错等价于 j = (short)(j+1) 类型底层隐含强行转换

3.自增自减

1.单独使用,++a和a++的结果一样

2.产于操作时,a++,先取变量的值,后拿变量进行操作

++a,先将变量进行操作,后取变量的值

实例: int i = 5; int j =++i 和 int i = 5; int j =i++,分别打印输出j,i的值如下

|-----|---|---|
| 操作 | i | j |
| ++i | 6 | 6 |
| i++ | 6 | 5 |

4.关系运算符

== != > >= < <=

5.逻辑运算符

|----|------|------------------|
| 符号 | 作用 | 说明 |
| & | 逻辑与 | 全为true结果才为true |
| | | 逻辑或 | 全为false结果才为false |
| ^ | 逻辑异或 | 二者结果不同才为true |
| ! | 逻辑非 | 结果相反 |

|------|-----|--------------------------------------|
| 符号 | 作用 | 说明 |
| && | 短路与 | (作用与&一样,但会短路)a&&b a为false,将不会在处理b |
| || | 短路或 | (作用与&一样,但会短路)a||b a为true,将不会在处理b |

6.三元运算符

格式: 关系表达式?表达式1:表达式2

实例; a>b?a:b 其中值为true输出a 值为false输出b

2.2 数据输入(Scanner)

作用:用于键盘输入内容进行操作

1.导包

import java.util.Scanner (出现类定义上面)

2.创建对象

Scanner sc = new Scanner(System.in); (sc为变量名)

3.接受数据

int i = sc.nextInt(); (i为变量名)

2.3 分支判断语句

1. if相关语句
  1. if (关系表达式){

语句体1;

}

  1. if(关系表达式){

语句体1;

}else{

语句体3;

}

  1. if(关系表达式){

语句体1;

}else if(关系表达式){

语句体2;

}

...

else{

语句体3;

}

如果if表达式的值为true,则执行语句体1,满足else if的条件,执行语句2,否则都执行语句3

2.switch语句

相关格式:

switch(表达式){ // 表达式:取值可以是int...string等或者枚举

case 值1: // case: 值1要与表达式里的值相匹配(==)

语句体1; // break: 表示中断,从此处跳出的意思

break; // default的含义与if语句中else相似

...

default:

语句体n;

}

实例: 对枚举等操作(后续内容会在后续补充)

java 复制代码
// 枚举定义格式
enum Color{
    red,blue,yellow;
}
public class Test{
    public static void main(String[] args){
        Color c = Color.blue;        // 获取枚举中某个数据
        switch(c){
            case red:
                System.out.println("红色");
                break;
            case blue:
                System.out.println("蓝色");
                break;
        }
    }
}

3.循环相关内容

1. for循环

格式:

for (初始化语句;条件判断语句;条件控制语句){

循环体内容;

}

执行流程:

1.执行初始化语句 2.执行判断语句(true接着执行否则结束)

3.执行循环体内容 4.执行条件控制语句

5.回到2继续执行

实例:

for (int i=0;i<=3;i++){

System.out.println(i); // 0,1,2,3

}

2. while循环语句

基本格式:

while(条件判断语句){

循环体内容;

条件控制语句;

}

执行流程:

1.先执行条件判断语句,为true继续执行,否则结束

2.执行循环体内容和条件控制语句

3.回到1继续执行

实例:

int i = 7;

while(i>5){

System.out.println("你好"); //会打印2次你好

i--;

}

3. do...while循环

基本格式:

do{

循环体内容;

条件控制语句;

}while(条件判断);

执行流程:与while类似.

二者唯一区别是,do..while无论条件是否成立先执行一遍循环体nerv

4.跳出控制语句

|----------|-------------------------|
| 符号 | 作用 |
| continue | 基于条件控制,跳出某次循环执行,继续进行下一次 |
| break | 基于条件控制,终止循环内容执行,结束整个循环 |

5.生成随机数(Random)

作用:用于产生一个随机数

1.导包

import java.util.Random;

2.创建对象

Random x = new Random(); //x是变量名

3.获取随机数

int number = r.nextInt(10); //10是获取范围[0,10)

4.数组

1.数组的定义

格式1: 数据类型[] 变量名

格式2: 数据类型 变量名[]

2.数组初始化

动态初始化: 只指定数组的长度

格式: 数据类型[] 变量名 = new 数组类型[数组长度]

实例: int [] a = new int [2];

左边 int:数组数据类型 []:表示一个数组 a:数组名词

右边 new:为数组申请的内存空间 int和[]如上 2:代表数组中元素个数

静态初始化:指定数组中的元素

格式: 数据类型[]变量名 = new 数据类型[]{数据1,数据2...}

简化格式: 数据类型[]变量名 = {数据1,数据2...}

上述实例内存示意图(实例结果是001,1)

数组存储会给元素一个默认值,int为0,double为0.0等

栈内存: 存储局部变量

堆内存: 存储new出来的内容(实体,对象)

3.数组内容输出

格式: 数组名[索引]

注意: 索引从0开始,是连续的

4.数组常见问题和操作

|-------|--------------|--------------------------------|
| 常见问题 | 原因 | 报错 |
| 索引越界 | 访问了数组不存在的索引 | ArrayIndexOutOfBondsException. |
| 空指针异常 | 访问数据不指向堆内存数据 | NullPinterException |

|-----------|---------|
| 操作 | 作用 |
| 数组.length | 获取数组的长度 |

相关推荐
奋斗的小花生14 分钟前
c++ 多态性
开发语言·c++
魔道不误砍柴功17 分钟前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_23417 分钟前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨20 分钟前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
老猿讲编程1 小时前
一个例子来说明Ada语言的实时性支持
开发语言·ada
Chrikk2 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*2 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue2 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang
杜杜的man2 小时前
【go从零单排】go语言中的指针
开发语言·后端·golang
测开小菜鸟2 小时前
使用python向钉钉群聊发送消息
java·python·钉钉