基础语法:
Java基本数据类型: 基本数据类型
整数
byte short int long
浮点
float double
字符
char
布尔
boolean
引用数据类型
Student s = new Student();
类型转换
自动类型转化
byte short char---int---long---float---double
由小到大
byte b = 20;
int a = b;
强制类型转化(有可能会损失精度)
一般由大到小
int b = 10;
byte a = (byte)b;可能损失精度
运算符
算数运算符
++/--
int a = 10;
a++;
++a;
int a = 10;
int b = a++; b = 10;右边,先做其他运算后加1
int b = ++a; b = 11;左边,先加1在做其他运算
比较运算符
比较运算符的结果都是boolean的类型
赋值运算符
+=
int a = 10;
byte b = 20;
//b = b + (byte)a;
b + = a;//+=:隐含了强制类型转换
逻辑运算符
JAVA里的布尔运算符可以分为【二进制布尔运算符】和【条件布尔运算符】。
1.二进制布尔运算符
二进制布尔运算符:与(&),或(|),异或(^),当其操作数是布尔值时,它们就是逻辑运算符,注意:对于运算符两边的操作数不管真假与否,
都会先计算出来结果后再进行布尔逻辑运算;当其操作数是整数时,它们就是位运算符。
2.条件布尔运算符
条件布尔运算符:条件与(&&),条件或(||),条件非(!)运算符,只能对布尔值进行计算,并且从左到右,如果有一个操作数为真,就不再计
算它右边的操作数,直接得出计算结果
。
结论:连接boolean类型的表达式
判断语句
循环语句
选择语句
方法
定义格式:
public static 返回值类型 (没有返回值类型写 void)方法名(参数类型 参数名,参数类型 参数名2){
方法体;
}
调用方式:
有明确的返回值类型:
赋值调用,将方法的返回值赋值给一个变量
输出调用,使用输入出语句直接输出方法返回值
直接调用,设法获取方法的返回值
没有明确的返回值类型
直接调用
方法的重载:在一个类中拥有多个重名的方法,这些方法参数不同和返回值无关
例如:
package demo;
public class demo {
public static void main(String[] args) {
//赋值调用
//int sum = sum(10,25);
//System.out.println(sum);
//输出调用
int a = 10;
int b = 20;
System.out.println(sum(a,b));
}
public static int sum(int a,int b) {
/* 使用变量接收求和并返回
* int sum = a + b;
*return sum;
*/
//直接返回求结果
return a + b;
}
}
注意:
形参:方法声明的变量,只能是变量,接受方法调用时传递进来的的数据
实参:调用方法时传递的数据,可以是常量也可以是变量
数组
用于存储多个元素的一种容器
数组的特点:
元素类型必须一致
元素有整数索引
一但定义好长度则无法变
可以存储基本数据类型
也可以存储引用数据类型
定义格式:
动态初始化
元素类型[] 数组名 = new 元素类型 [10];
静态初始化
元素类型[] 数组名 = {元素1,元素2,元素3};
元素类型[] 数组名 = new 元素类型[]{元素1,元素2,元素3};
例如:
package demo2;
public class arry {
public static void main(String[] args) {
//动态初始化
//int[] arr = new int[5];
//静态初始化
int [] arr = new int[] {1,2,3,4,5};
int sum = 0;
for( int x = 0;x< arr.length;x++) {
sum = sum + arr[x];
}
System.out.println("sum:"+sum);
}
}
标准类的定义
定义一个标准的学生类,在主方法中创建对象并调用
姓名,年龄,性别3个成员你变量
无参有参两份构造方法
为每个成员变量定义getter/setter方法
定义一个show方法输出成员你变量
package demo3;
public class Sudent {
private String name;
private int age;
private String gender;
public Sudent() {
}
public Sudent(String name,int age,String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public void show() {
System.out.println(name+":"+age+""+gender);
}
}
主方法测试:
public class demo4 {
public static void main(String[] args) {
Sudent r = new Sudent("alex",19,"nan");
Sudent s = new Sudent();
s.setName("alle");
r.show();
}
}
this 关键字
this:代表所在类的引用
什么时候用this
局部变量隐藏成员表量