二:常量,变量
常量: 程序运行过程中值不会发生改变的量
分为字符串常量,整型常量,浮点常量,字符常量,布尔常量,空常量
字符串常量: String ""
整型常量:byte short int long
浮点常量:float long
字符常量:char ''
布尔常量:boolean
空常量:null
变量
程序运行过程中,值可以在一定范围内发生改变的量
三:数据类型
java是强数据类型的编程语言→好处:省空间内存
分为:
基本数据类型:
数值类型
整型
byte 1byte
short 2byte
int 4byte
long 8byte
浮点
float 4byte
double 8byte
字符类型
char 2byte
布尔类型
true,false 1byte
隐式转换
小的数据与大的数据做运算时自动提升为大的数据
例如:byte + int = int
byte a = 2;
byte b = 2;
short c = a + b;会报错,右边的运算会提升为int,所以会损失精度
强制转换
大的数据类型转会小的数据类型
例如: int a = 3; int b = 3; short c = (short)(a + b);
四:选择,循环控制语句
选择流程控制
主要分为两种: if 和 switch
if:
if第一种格式:
if (判断表达式) {
语句体;
}
关系表达式为true时执行
if第二种格式:
if (判断表达式) {
语句体;
} else {
语句体;
}
if第三种格式:
if (判断表达式) {
语句体;
} else if {
语句体;
} else if {
...
} else {
我们将拥有相似属性和方法的事物描述为一类事物
在java中用class类来表示
在定义class时用成员变量来代表事物的属性,
成员方法来代表事物的行为
例如:
class Student{
String name;
ing age;
public void study(){
System.out.println("study");
}
}
对象时类的具体实现;
比如学生作为一个类,那么作为学生的你就是一个对象
java中对象的创建格式为:
类名 对象名 = new 类名();
对象创建后是存储在堆内存中,赋予对象名的是它的存储地址.
使用类:
例:
class StudentTest {
public static void main(String[] args) {
Student s = new Student();
s.name = "jack";
s.age = 18;
s.study();
}
}
通过类对象的创建,用s.name/study(),这种 类名.属性/方法的形式可以对对象的属性
进行更改,和调用对象的方法
private:
虽然可以直接用s.age这种形式直接对对象的成员变量进行更改,但是类似s.age= -18等
不符合常理的更改则得不到有效预防.为了增加数据的安全性,用private修饰的成员变量
只能在本类中访问,其他类中不能访问.
但是通过定义setXXX,getXxx方法可以对变量进行间接的更改或访问,这样做的好处是在
方法中可以加入保证
数据安全的代码.
例:
class Student{
String name;
ing age;
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
public void setAge(int a) {
if (a > 0 || a < 200) {
System.out.println("您输入的年龄有误");
//例如通过类似这种数据安全保护措施
} else {
age = a;
}
}
public int getAge() {
return age;
}
public void study(){
System.out.println("study");
}
}
封装
private实际上是封装的一类,通过private等权限设置,将不需要对外显示的内容
隐藏起来,提高类代码的安全性,与稳定性,和复用性.
this
为了使得定义set,get等方法时,做到见名之意,Java定义了this关键字
例:
class Student{
String name;
ing age;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
Student s = new Student();
//我们通常说的创建对象,实际上就是调用的类的构造方法.
例:
class Student{
String name;
ing age;
public Student() {
//即使定义了有参构造方法,以防万一最好还是定义上无参构造方法
}
public Student(String name) {
this.name = name;
}
public Student(int age) {
this.age = age;
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void study(){
System.out.println("study");
}
}