【博学谷IT技术支持】
前言
java是一门非常好的语言,比较有必要学习一下:
随着科技发展,只会前端是不行的,学习一门后端序言非常有必要,这里记录下自己学习的过程。
一、数据类型
java是一种强类型语言,数据必须明确类型。
基础数据类型有8种,分别是
- 整数类型:byte, short, int, long,
- 浮点类型:float,double,
- 字符类型:char
- 布尔类型:boolean。
同时整数类型默认是int,浮点类型默认是double。
定义
在数据定义的过程中,只有两个需要特别注意,分别是整数类型的long
和浮点类型的float
// 其他如byte, short, int只要正常定义就可以了, 比如
byte a = 1
short b = 2
int c = 3
// 但是如果定义long和float,需要后边加字符
long a1 = 100L
float a2 = 10.1F
注意:
- 定义long类型变量的时候,需要在数值后面加入L标识符,L可以大写也可以小写
- 定义float类型变量的时候,需要在数值后面加入F的标识,F可以大写也可以小写
标识符的组成规则
- 由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。
- 不能使用java中的关键字作为标识符。
- 命名中大驼峰用于定义类名,小驼峰用于定义方法以及变量
类型转换
在代码书写过程中,经常能看到定义int,int是在整数类型中最常用的类型,一般都能满足,这里注意一点
在byte,short,char三种数据在运算过程中都是先提升为int,再进行计算的。
数据转换的过程中,有两种,分别是
- 隐式类型转换:取值范围小的可以直接赋值给取值范围大的数据类型。
- 强制类型转换:取值大的赋值给取值小的数据类型。
// 隐式转换
byte a = 10
int b = a
//强制类型转换
int b = 10
byte a =(byte)b
int c = 1
byte d = (byte)(b+c)
二、运算符
+, -, * ,/ ,%,加减乘除取余没什么可说的。这里说下++,--的位置。
- 如果++在前,那么当前数据就先加后用
int a = 1;
System.out.println(++a); // 2
- 如果++在后,那么就先用,再加
int a = 1;
System.out.println(a++); // 1
System.out.println(a); // 2
- +=,-=, *=, /=,也没有什么说的,唯一一点就是该运算符隐含了强制转换
关系运算符
关系运算符也没有什么不同的。唯一注意的是这里没有=,只有
逻辑运算符
和javascript不同,这里都是单符号,比如与&,或| ,非!,异或^
- :ab,a与b相同为false,不同为true
注意:如果使用了&&或者||,当前条件一旦左边成立,则不在执行右边。
三、条件语句
if, for,while,switch, do while语法都一致,没有不同之处。注意一点的是,当使用while(true)与switch嵌套使用的时候,想让switch的break直接跳出while,需要给while定义一个名字,直接break 名字。
跳出循环的控制语句:
break:跳出当前循环
continue:跳出此次循环
四、数组
这里数组中要对数据的类型要求一致。
不同的定义方式
// 数据类型 数组 数组名称 = 数组的内存空间 数组类型 数组 数组长度
int[] arr1 = new int[3]; // 动态初始化
int[] arr3 = {1,3,4}; // 静态初始化
int[] arr4 = new int[]{1,2,3}; // 静态初始化
取值方式还是通过索引取值
注意: 在数组的操作中要注意一个是索引越界,一个是空指针异常,索引越界就是当前长度可能为3,现在来找4,那就索引越界。空指针是指定义为null的时候,再来拿值,就空指针异常了。
五、方法
public class day01 {
public static void main(String[] args) {
}
}
- public: 访问修饰符
- static: 关键字
- void:返回类型,也可以定义为int之类的,根据返回的参数定义,没有返回则定义为void
- main: 方法名
- String[]: String类
- args: 字符串数组
方法定义不能嵌套,但是可以重载,
重载:
- 多个方法在同一个类中
- 多个方法有相同的方法名
- 多个方法的参数不同或类型不同或数量不同
方法的基础类型传递
基础类型传递,形参的改变不影响实参,方法在栈内存中,都会有独立的栈空间,方法运行结束就会弹栈。
方法的引用类型传递
引用类型的参数,形参的改变会影响实参。引用类型传参是传入了地址值,
因此修改会直接修改到内存中的值,形参改变,实参也改变。