前言:
我是一名前端开发人员,因为想自学java,根据网络上的推荐顺序,决定从呼声最高的java 核心卷 11版读起(PS:其实12版已经出来了,但是只有实体书,没有电子版呀。实体书太贵了,70+。正版要100+。为了节省资源,多吃饭,就看了11版)。
目前准备好的环境如下:
java版本:17版本。没装18(据说有中文乱码bug)IDE:intelliJ IDEA(正式,30天无限期试用版)
先准备这些,以后再有别的需要准备的,就另行安装。此书的前两章稍微过了一眼,觉得并没有什么深入了解和做笔记的必要。就直接从第三章开始了。毕竟学技术的着急呀。那么,下面就让我们来开始吧。
第一章:java的基本程序设计结构
第一个java程序
/**以下字段不是固定的,都是有可选项的。*public:访问修饰符,表示程序的应用范围*class:类,表明java程序中的全部内容都包含在类中*FirstSample:类名,一般首字母会大写*static:静态方法*void:表示函数返回值*String[] args:字符串类型的数组,名字是args。这里面的表示main方法的形参*/public class FirstSample{public static void main(String[] args){System.out.println("hello java");//输出hello java}}
注意:
java区分大小写java文件名必须与类名一致。main方法必须是public的
看完之后可以使用ide 右键运行 来查看此段代码的运行结果。
数据类型
基本类型java提供了八种基本类型:包括(四个整数型,两个浮点型)一个字符类型,一个布尔型
整数和小数取值范围大小关系:
double>float>long>int>short>byte
引用类型引用类型指向一个对象,指向对象的变量是引用变量,变量一但声明后,类型就不能被改变了。对象、数组都是引用数据类型所有引用类型的默认值都是null一个引用变量可以用来引用任何与之兼容的类型
常量与变量
变量:
格式——dataType dataName;
带初始化的示例:int a = 10;
java10之后如果变量有初始值,并且可以通过初始值来反推变量类型的时候,可以不用写类型,直接用关键字var来声明
var i = 10;System.out.println(i);//10 这样是没问题的
常量:
使用final关键字来声明,当然这个关键字也可以用来声明类和方法。都是不可改变的
final var I= 10;//10
常量约定为全大写
数值类型之间的转换
自动转换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-isa7LgXD-1660664197396)(C:\Users\11075\AppData\Roaming\Typora\typora-user-images\image-0816131654132.png)]
整形、实型(常量)、字符型数据可以混合运算,运算中,不同类型的数据先转化成同一类型,然后进行运算
数据类型转换必须满足如下规则:
不能对boolean进行转换不能把对象类型转换成不相关类的对象在把容量大的类型转换位容量小的类型时必须使用强制类型转换转换过程中可能导致溢出或损失精度浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
注意:必须满足转换前的数据类型的位数要低于转换后的数据类型
实线箭头表述无精度损失转换,虚线则有可能损失一些精度
强制类型转换
条件是转换的数据必须是兼容的
格式(type) value ,type是要强制类型转换后的数据类型
public class QiangZhiZhuanHuan{public static void main(String[] args){int i1 = 123;byte b = (byte) i1;//强制类型转换为byteSystem.out.println("int强制类型转换为byte后的值等于"+b);}}
数组
数组定义
1,数据类型 [] 数组名如:int[] arrayName2,数据类型 数组名 []如:int arrayName[]推荐使用第一种
数组创建
1,静态数组:int[] arrayList = new int[]{1,2,3,4}简写:int[] arrayList = {1,2,3,4}如果用system.out.println(arrayList),会打印出[D@776ec8df,[D@776ec8df分为几个部分:[-表示类型,即这是一个数组D-表示当前数组元素类型@-表示一个间隔符号,这是固定格式776ec8df-表示数组的真正的地址值2,动态数组格式:数据类型[] 数组名 = new 数据类型[数组长度]
访问数组元素:array[index]
for…each循环,因为这是后来加入的,所以格式如下
for(int element:a){System.out.println(element)}
Arrays类中的常用方法: