【博学谷学习记录】超强总结,用心分享 | java基础

【博学谷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: 字符串数组

方法定义不能嵌套,但是可以重载,
重载:

  • 多个方法在同一个类中
  • 多个方法有相同的方法名
  • 多个方法的参数不同或类型不同或数量不同

方法的基础类型传递

基础类型传递,形参的改变不影响实参,方法在栈内存中,都会有独立的栈空间,方法运行结束就会弹栈。

方法的引用类型传递

引用类型的参数,形参的改变会影响实参。引用类型传参是传入了地址值,
因此修改会直接修改到内存中的值,形参改变,实参也改变。

posted @ 2023-06-01 09:43  牛牛牛牛牛牛牛牛  阅读(7)  评论(0编辑  收藏  举报