Java语法基础

IDEA开发环境

运行原理

在这里插入图片描述
配置环境变量的作用是能够在命令行的任意目录下启动程序。老版本java的jdk不会自动创建环境变量,需要自己配置,新版本在安装时自动配置好。

快捷键

在这里插入图片描述

注释

单行注释(解注释)
ctrl+/
多行注释(解注释)
ctrl+shift+/

输出字符

单字符输出用单引号
字符串输出用双引号
一字节=8比特,1byte=8bit

字符存储

将字符转换为ASCII对应的整型进行存储,如’a’+10=107
A->65,a->97,0->48

数据类型

整型
byte 1 (-128~127)
short 2
int 4 (十位数)(默认)
long 8 (19位数)
浮点型
float 4
double 8 (默认)
字符型
char 2 (0~65535)
布尔型
boolean 1

自动类型转换

小范围类型可以自动转换为大范围类型
表达式中,小范围类型变量会自动转换成大范围类型变量
在这里插入图片描述

强制类型转换

类型范围大的变量不能直接赋值给小范围类型变量,因此需要强制转换。
强制转换可能导致数据溢出,浮点型转为整型直接丢掉小数部分

运算符

两整数相除还是整数
字符串可用"+"连接

自增自减

在这里插入图片描述

三元运算符

条件表达式?值1:值2

运算符优先级

&&高于||,()最高

循环语句

if,switch

if性能高于switch,一般用前者,switch的表达式取值不可为double,float,long
switch具有穿透性
在这里插入图片描述

for,while

直到循环几次用for,不知道用while

break,continue

break表示跳出并结束当前所在循环的执行
continue表示跳出当前循环的当次执行,直接进入循环的下一次执行

外部循环标签

在这里插入图片描述

随机数

Random r = new Random();
int data = r.nextInt(10);//0-9的随机数

数组

定义方法

静态初始化

int[] ages = {21,25,36};
double[] sources= {21,25.3,36.22};

动态初始化

int[] ages = new int[3]; //这个3是数组长度,数组值默认为0
在这里插入图片描述

数组参数传递

数组名存储的是地址,而不是值,对同一地址数组进行修改,会修改对应地址的数据

数组拷贝

在这里插入图片描述
一个一个复制,不能直接利用变量名复制,那样本质上还是指向同一个数组。

对象

1.this解决变量名冲突问题
2.类创建好后,会默认创建一个无参数构造器,如果自己手动创建了有参数构造器,系统不会再创建无参数构造器,所以最好再自己创建一个无参数构造器

面向对象的三大特征

封装,继承,多态

static

代表属于类的变量或者方法,不加static修饰的就是对象的变量或者方法,即实例变量或实例方法。类变量和类方法可以通过类名或者对象名访问,而实例变量和实例方法只能通过对象名访问。

public,protected,private等修饰词

在这里插入图片描述

常用API

objects.equals()

字符串的equals方法默认已经重写,可以直接调用来比较两个字符串内容是否相同(equals默认是比较地址是否相同)
objects.equals方法会先进行非空判断,再进行比较,更加安全

包装类

自动装箱,自动拆箱
将基本类型的变量包装成对象,因为i泛型和集合只能存对象而不能存基本变量,所以要用包装类

toString

将基本类型的数据转换为字符串

Integer.parseInt(String)

将字符串类型的变量转换为基本类型

Double.parseDouble(String)

StringBuilder

代表可变字符串对象,相当于一个容器,更适合做字符串修改操作

append

添加数据并返回对象

reverse

将对象内容反转

length

返回对象内容长度

StringJoiner

与StringBuilder类似,但不仅能提高字符串的操作效率,还能是某些场景下代码更简洁
StringJoiner(“间隔符”,“开始符”,“结束符”)

Math

Math.ceil(a)
Math.floor(a)
Math.abs(a)
Math.round(a)
Math.random(a) //0-1左闭右开[0.0,1.0)
Math.max(a,b)
Math.min(a,b)
Math.pow(a,b)

System

System.currentTimeMillis() //从1970-1-1 0:0:0开始走到此时此刻的总的毫秒值

BigDecimal

BigDecimal.ValueOf() //将小数转为BigDecimaal,防止小数运算时精度出问题

Date

在这里插入图片描述

Lambda表达式

用于简化函数式接口(接口,且内部只有一个抽象方法)的匿名内部类

集合

ArrayList与LinkList都有序,可重复,有索引

ArrayList

底层是数组,数组中各元素的地址在内存中是连续的,因此查询速度快,而增加元素和删除元素的速度慢

LinkList

链表的各节点在内存中不是连续存储的,因此查询速度慢,但增加元素和删除元素的速度快
在这里插入图片描述

输入/输出流

在这里插入图片描述

字节流

以字节为单位进行输入输出,但是英文字符是1字节,中文字符是3字节,所以在写入读取中文时可能会出现乱码

字符流

以字符为单位进行输入输出,所以在写入读取中文时不会出现乱码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值