基本数据类型
Java种有4类共8种基本类型
八种类型 | 字节数 | 数据表示范围 |
---|---|---|
整型 byte | 1 | -128 ~ 127 |
整型 short | 2 | -2^15 ~ 2^15-1 |
整型 int | 4 | -2^31~ 2^31-1 |
整型 long | 8 | -2^63 ~ 2^63-1 |
浮点型 float | 4 | -3.403E38~3.403E38 |
浮点型 double | 8 | -1.798E308~1.798E308 |
字符型 char | 2 | 表示一个字符,如('a','A','0','家') |
布尔型 | 1 | 只有两个值true与false |
需要注意
- java中默认的浮点类型是
double类型
,float类型的常量必须添加F
- 整数的默认类型是
int类型
- 范围小的数据类型(如byte),可以直接转换为范围大的数据类型(如int)
- 范围大的数据类型(如int),不可以直接转化为范围小的数据类型(如byte)
表达式和语句
- 表达式就是计算过程
基本的数学计算 - 方法的调用
- 表达式和语句,以
;
结尾
变量和赋值
变量
是对一个java对象的引用
声明一个变量
时候需要指定其类型,表示它可以应用的对象类型
int a; long b; string str;
赋值
是把一个对象绑定到一个变量,反过来说,是让一个变量引用到一个对象
控制语句
- 条件语句
if(条件) { 内容 }else{ 内容 }
switch(表达式){ }
- 循环语句
// while 循环
while(条件){ 内容 }
do{ 内容 }while(条件) //循环至少执行一次
// for循环
for(初始化①;条件②;迭代运算③){ ④ }
- 控制语句
break 强制当前循环终止(当前循环所在的子循环)
continue 强制停止本次循环
return 从当前方法中退出
throw 抛出错误
- 构造语句
new: ⽣成⼀个对象
Integer a = new Integer(3)
java 类型模型
同个类里面可以有多个方法和类
类
: 类是一个模板,他描述一类对象的行为和状态
对象
: 对象是类的一个实例,有具体状态
方法
: 勒种定义的该类的实例对象所具有的行为
静态方法
: 隶属于类本身的方法,被所有的对象共享
JAVA
里常量
和变量
都可以对应于一个对象
,这个对象的行为具有的属性是由类来定义的
JAVA
程序的基本结构就是一系列类的定义
,类之间的关系和具体类的对象之间的互相操作
java 类
类是一个模板,他描述类对象的行为和状态
语义上表达的是一类实体(对象)的抽象
在java中管理是一个文件中存放一个public类
public News () // 构造方法,一般用来初始化
public String getTitle () // 普通方法
public void display () // 没有返回值
java 对象
对象: 对象是一个类的实例
语义上表达一个java类的实体
对象是一般情况Java语言里的一等公民
对象可以赋值到一个变量
对象是通过new
语句进行创建的
java方法和成员变量
方法
: 类中定义的该类的实例对象所具有的行为
静态方法
:隶属于类本身的方法
一个方法由 类+方法名+参数类型确定
相同的方法名,不同的参数类型,是不同的方法
成员变量即对象或类中的变量,器作用域在类中,或对象中
可以用修饰符控制方法和成员变量的作用域
修饰符
- 修饰符用于控制变量,类的作用域和一些访问权限
- 访问权限修饰符:
public
,protected
,private
,default
(不设置)
image.png -
static
发方法或者成员变量设置为类共享 - 具有
static
修饰的方法和变量的类,我们称之为静态类
- 调用方法: <类名>.<方法名或成员变量名>
例如 Main.main(null)
public class Main {
public static void main(String[] args) {
System.out.print('hello world')
}
}
- final
- final <类> -> 防止类被继承
- final <变量> -> 防止变量被修改引用到另外一个对象,可称为常量 <变量引用>
final a = 1
a = 2 // 这个不可以
思考:常量指向的对象能否被修改? 可以
image.png
- final <方法> -> 防止方法被重载(override)
构造函数一般是pubilc, 也可以用private
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setWeight(int weight) {
this.weight = weight;
}
public int getWeight() {
return this.weight;
}
public static int getNumber() {
return number;
}
使用get
, set
函数来控制变量,来控制变量的可读可写,一般变量都是private
这时候可以通过shift
+ N
不要暴露多余的信息给你的客户
这时代码可以改成
package com.company;
import com.company.Human;
public class Main {
public static void main(String[] args) {
// write your code here
Human def = new Human();
System.out.println("Hello World");
System.out.println(def.getName());
System.out.println(def.getWeight());
System.out.println(Human.getNumber());
System.out.println(Human.getNumber());
Human may = new Human("may", 120);
System.out.println(may.getName());
System.out.println(may.getWeight());
Human liu = Human.newHuman("huimin", 80);
may.setName("ufo");
Human ufo = may;
int newWeight = ufo.workout();
//
System.out.println(may.getWeight());
System.out.println(ufo.getWeight());
for (int i = 0; i < 10; i++) {
ufo.workout();
}
System.out.println(ufo.getWeight());
}
}
以上是基于对象编程
final
修饰的变量无法改变,因此 final
成员变量必须直接在声明时候初始化,或者在构建方法里面初始化!!!
private final String name = "may";
在java
中要避免使用null
java 复制对象
Person p = new Person(23, "zhang");
Person p1 = (Person) p.clone();
System.out.println(p);
System.out.println(p1);
java 输入
// 数字 和 float
public class Main {
public static void main(String args[]) {
Scanner in = new Scanner(System.in); //使用Scanner类定义对象
System.out.println("please input a float number");
float a = in.nextFloat(); //接收float型数据
System.out.println(a);
System.out.println("please input a integer number");
int b = in.nextInt(); //接收整形数据
System.out.println(b);
}
}
// 字符串类型
import java.util.Scanner;
public class Test
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个字符串:");
System.out.println("您输入的字符串是:" + scan.next());
}
}
网友评论