目录
1
简单的一个代码段:
//public表示公开的
//class表示定义一个类
//HelloWorld表示一个类名
public class HelloWorld {//定义一个公开的类,名为HelloWorld
/*类体
public表示公开的
static表示静态的
void表示空
main表示方法名为main
(string[] args)是main方法的形式参数列表
下面就是一个程序的主方法,程序的入口
*/
public static void main(String[] args) {//表示定义一个公开的静态的主方法
//方法体(固定编写)
System.out.println("hello World!");//输出消息
}
}
- Java语句以 ; 结束。
- java所有的字符串都用 " " 括起来
- 类体中除了声明不允许自己编写Java语句,Java语句编写在方法体
2
public class与class区别
- 一个java源文件可以定义多个class
- 一个源文件当中public的class不是必须的
- 一个class会定义生成一个 xx.class字节码文件
- 一个Java源文件当中定义公开的类的花,只能有一个,并且名称与Java源文件名称一样
- 每一个class当中都可以编写main方法,都可以设定为程序的入口
3
注释
//单行注释
/*多行注释,中间为内容*/
4
java标识符
可自己定义的均为标识符
标识符可标识:
- 类名,方法名,接口名,常量名等
命名规则:
- 只由"数字、字母、下划线_、美元符号$"组成
- 不能数字开头
- 严格区分大小写
- 关键字不能作为标识符
- 尽量不要太长
命名规范
- 见名知意
- 驼峰命名方法
- 类名、接口名:首字母大写,后面每个单词首字母大写
- 变量名、方法名:首字母小写,后面每个单词首字母大写
- 常量名:全部大写,多个单词加在一起要加下划线_
另:
- java语言源代码采用unicode编码法方式,所以标识符可以用中文
5
字面值
有:10、100、3.14、'a'、"abc"、ture,false等
就是单纯的数值
数据具有类型==》数据类型:整型,浮点型,字符型,字符串型,布尔型等
字符串型为" "括起来
字符型为' '括起来
另:
- 整数型字面值默认当作整型处理,要改为当作long处理需要在其后面加上l或L(建议)
- 浮点型默认double,需要则在其后边加上f或F
6
java变量
介绍:
- 内存中的一块空间,空间有数据类型,有名字,有字面值
- 变量有三部分:数据类型,名称,字面值(数据)
- 内存中存储数据的基本单元
变量要求:
- 变量存储的二聚体数据必须和变量的数据类型一致。
声明定义变量及赋值:
- 数据类型 变量名
- 如:int i; int num;
- 变量名=字面值
- 或:int i=0;
访问变量的两种形式:
- 读取(get)
- 修改(set)
作用域:
- 在所定义的大括号内有用
变量分类:
- 方法体之内为局部变量;方法体外,类体内为成员变量
另:
- 一行可以声明多个变量
- 先声明后赋值,最后访问
- 变量的访问遵循 就近原则
7
java数据类型
数据类型作用:
- 不同数据类型,底层分配不同大小的空间
- 也指导程序在运行阶段分配多大的空间
java数据类型包括两种
- 基本数据类型
- 引用数据类型
基本数据类型:(四大类八小种)
- 整数型:byte、short、int、long(默认值0)
- 浮点型:float、double(默认值0.0)(内部二进制存储为近似值)
- 布尔型:boolean(默认值false)(逻辑运算,条件控制常用)
- 字符型:char(默认值\u000)(一个中文)
字节数分别为:1、2、4、8、4、8、1、2
引用数据类型:
- 类、接口、数组、字符串...
类型转换规则:
- 小容量可以自动转换成大容量,自动类型转换
- 大容量转小容量,需要进行强制类型转换,()强制类型转换符,结果可能会损失精度
- 容量排序:byte<short(=char)<int<long<float<double
- 当整数字面值没有超出byte,short,char的取值范围,可以直接赋值给byte,short,char类型的变量
- byte,short,char混合运算的时候,各自先转换成int类型再做运算
- 多种数据类型混合运算,先转换成容量最大的那种类型再做运算
另:
- 反斜杠\在java中具有转义功能,可以与部分其他字符形成char类型的数据
8
运算符
按功能分:
- 算术运算符:+、-、*、/、++、--、%
- 关系运算符:<、<=、>、=>、==、!=
- 布尔运算符:&&、||、&、|、!
- 位运算符:&、|、~、^、>>、<<
- 赋值运算符:=、+=、-=、*=、/=、%=
- 字符串连接运算符:+
- 条件运算符:?:
- 其他运算符:new、instanceof
短路与&&,短路或||:主要判断左边
符号+:两边都是数字,进行加法运算;当一边有字符串则进行字符串连接。
byte x=5; x+=5;//相当于x=(byte)(x+5)
9
控制语句
控制选择结构语句:
- if、if else
- switch
tip:
①switch中的case不要忘记break,无break会进入下一个分支执行。
②switch可以合并
③switch最后可保留一个default语句
④选择结构语句可以分别多层嵌套,该缩进缩进
控制循环结构语句:
- for
- while
- do while
for循环语法结构:
- for(初始表达式;布尔表达式;更新表达式){需要重复的代码}
初始表达式只执行一次
改变控制顺序语句:
- break(终止关键字)
- continue(跳过关键字)
————————————————————————
10
方法
介绍:
- 一段代码片段,可以完成某个特定的功能,可重复使用(Method,类似c语言中的函数)
方法的定义:
- [修饰符列表] 返回值类型 方法名 (形式参数列表){方法体}
//定义sum方法 public static int sum(int a,int b){ return a+b; } //调用sum方法 public static void main(String[] args) { int sum=sum(5,6);//调用 System.out.println(sum); }
修饰符列表:
- 并不是必须的
返回值类型:
- 决定返回值的类型,java任意一种类型均可
- 可以不返回值,则写void,空的意思。
方法名:
- 见名知意;
- 首字母小写,后面字母首字母大写
形式参数列表(形参):
- 形参为局部变量
- 调用时实际给这个方法传递的真实数据称为实际参数(实参)
- 实参与形参满足:数量相同,类型相对应
关于return:
- 只要执行,方法执行结束
- return下面的语句不执行
- 非void,要保证return语句执行
方法调用:
- 若修饰符列表有static关键字的话,调用方法: 类名.方法名(实际参数列表) ,调用在本类中,可以省略类名
- 若无static关键字的话,调用需要先创建对象。通过对象名.方法名(实际参数列表)
- 调用时,函数传参时,实际传递的是变量保存的那个值传过去了
另:
- 方法定义再类体中,可以定义多个方法,无先后顺序要求。
- 方法中不能再定义方法
方法重载:
Java 学习记录2——方法重载_YF amer的博客-优快云博客
方法递归:
- 自己调用自己...
- 耗费栈内存
- 找到终止条件,循环内容
11
面向对象的简单理解
辅助理解:
人喂养宠物,宠物并不具体为猫、狗、乌龟等。宠物为抽象的一个类(对象)。
https://blog.youkuaiyun.com/weixin_54906953/article/details/121865497