JAVA入门
JAVA入门
Java中的关键字
Java 关键字是区分大小写的
所以 void 是关键字,但 Void 就不是了
Java中的标识符
标识符的含义:标识符就是用于给 Jav程序中变量、类、方法等命名的符号。
使用标识符时,需要遵守几条规则:
- 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法的
- 标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以
- 标识符是严格区分大小写的。
- 标识符的命名最好能反映出其作用,做到见名知意。
JAVA的变量
优秀工程师的习惯:
1、变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge
2、变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存“学生姓名”信息
PS: Java 变量名的长度没有限制,但 Java 语言是区分大小写的,所以 price 和 Price 是两个完全不同的变量!
A[数据类型]
A-->B{基本数据类型}
A -->C{引用数据类型}
B-->D[数值型]
D-->J[整数类型]
D-->K[浮点类型]
B-->E[字符型]
B-->F[布尔型]
C-->G[类]
C-->H[接口]
C-->I[数组]
java强制类型转换
double ave=78.5;
int ave2=(int)ave;
java常量
常量名一般使用大写字符
程序运行过程中不允许改变
final double AVE=78.5;
Java中的比较运算符
比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。
数组
1、 声明数组
语法: 数据类型[ ] 数组名;
或者 数据类型 数组名[ ];
2、 分配空间
简单地说,就是指定数组中最多可存储多少个元素
语法: 数组名 = new 数据类型 [ 数组长度 ];
scores=new int[5];
//或者两步合为一步
int[] scores=new int[5];
3、 赋值
分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如向 scores 数组中存放学生成绩
scores[0]=90;
在Java中还提供了另外一种直接创建数组的方式,他将声明数组,分配空间,和赋值合并完成,如:
int[] scores={10,19,29,12};
等价于:
int[] scores=new int[]{10,19,29,12};
** 数组名.length 用于获取数组的长度**
使用 Arrays 类操作 Java 中的数组
Arrays 类是 Java 中提供的一个工具类,在 java.util 包中。该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序、搜索等
1、 排序
语法: Arrays.sort(数组名);
2、 将数组转换为字符串
语法: Arrays.toString(数组名);
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
// 定义一个字符串数组
String[] hobbys = { "sports", "game", "movie" };
// 使用Arrays类的sort()方法对数组进行排序
Arrays.sort(hobbys);
// 使用Arrays类的toString()方法将数组转换为字符串并输出
System.out.println(Arrays.toString(hobbys));
}
}
使用 foreach 操作数组
语法:
for(元素类型 元素变量 :遍历对象){
执行的代码
}
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
// 定义一个整型数组,保存成绩信息
int[] scores = { 89, 72, 64, 58, 93 };
// 对Arrays类对数组进行排序
Arrays.sort(scores);
// 使用foreach遍历输出数组中的元素
for (String score : scores) {
System.out.println(score);
}
}
}
java中的二维数组
int[][] num=new int[2][3];
Java 中的方法
所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。
一般情况下,定义一个方法的语法是:
访问修饰符 返回值类型 方法名(参数列表){
方法体
}
其中:
1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴
2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
3、 方法名:定义的方法的名字,必须使用合法的标识符
4、 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开
根据方法是否带参、是否带返回值,可将方法分为四类:
Ø 无参无返回值方法
Ø 无参带返回值方法
Ø 带参无返回值方法
Ø 带参带返回值方法
public class HelloWorld {
//定义了一个方法名为 print 的方法,实现输出信息功能
public void print() {
System.out.println("Hello World");
}
public static void main(String[] args){
//在 main 方法中调用 print 方法
HelloWorld test=new HelloWorld();
test.print();
}
}
Java中无参无返回值方法
1,定义方法
public void show(){
System.out.println("welcome to imooc.");
}
2,调用方法
对象名.方法名();
public class HelloWorld {
public static void main(String[] args) {
// 创建对象,对象名为hello
Helloworld hello=new Helloworld();
// 调用方法
hello.showMyLove();
}
/*
* 定义无参无返回值的方法
*/
public showMyLove() {
System.out.println("我爱慕课网!");
}
}
Java中无参有返回值方法
ublic class HelloWorld {
public static void main(String[] args) {
// 创建名为hello的对象
HelloWorld hello = new HelloWorld();
// 调用hello对象的calcAvg()方法,并将返回值保存在变量avg中
double avg =hello.calcAvg();
System.out.println("平均成绩为:" + avg);
}
// 定义一个返回值为double类型的方法
public int calcAvg() {
double java = 92.5;
double php = 83.0;
double avg = (java + php) / 2; // 计算平均值
return avg
// 使用return返回值
}
}
Java 中方法的重载
方法的重载:如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。
问: 如何区分调用的是哪个重载方法呢?
答: 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行
判断方法重载的依据:
1、 必须是在同一个类中
2、 方法名相同
3、 方法参数的个数、顺序或类型不同
4、 与方法的修饰符或返回值没有关系
什么是类和对象
1,什么是对象
万物皆对象,客观存在的事物
2,什么是面向对象
人关注着一个对象
如果我们去买手机,则手机是对象,我们买手机的过程叫做面向对象,
类
类就是模子,确定对象将会拥有的特征(属性)和行为(方法)
类的特点
类是对象的类型
具有相同属性和方法的一组对象的集合
什么是对象的属性
属性--对象具有的各种特征
每个对象的每个属性都拥有特定值
什么是对象的方法
对象执行的操作
类和对象的关系
类是抽象的概念,仅仅是模板,比如说:“手机”对象是一个你能够看的到的,摸得着的具体实物。
如何定义Java中的类
1,类的重要性:所有的Java程序都已类为组织单元
类的组成:组成和方法
定义类的步骤
定义类名
定义属性
定义方法
public class 类名{
属性的类型 属性
方法
}
java对象
使用对象的步骤
1,创建对象
类名 对象名=new 类名()
2,使用对象
对象名.属性(实例变量)
对象名.方法
Java中的成员变量和局部变量
1,成员变量
在类中定义,用来描述对象将要有什么
2,局部变量
在类的方法中定义,在方法中临时保存数据
两种变量的不同:
局部变量只能在当前的方法中使用
成员变量的作用域在整个类的内部
Java会给成员变量一个初始值
Java不会给局部变量初始值
在一个方法中不允许有相同的局部变量
不同的方法中允许同名的局部变量
局部变量具有优先性
Java中的构造方法
1,使用new+构造方法 创建一个新的对象
2,构造方法是定义在Java类中的一个用来初始化对象的方法
构造方法与类名相同,没有返回值
构造方法的语句格式:
public 构造方法名(){
//初始化代码
}
创建对象的时候,执行的是构造方法
构造方法的重载:和普通的重载是一样的
Java中的static使用之静态变量
Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。当然,鉴于他作用的特殊性更推荐用类名访问
即:静态的可以直接访问
静态方法
public class HelloWorld {
// 定义静态变量score1
static int score1 = 86;
// 定义静态变量score2
static int score2 = 92;
// 定义静态方法sum,计算成绩总分,并返回总分
public static int sum() {
return(score1+score2);
}
public static void main(String[] args) {
// 调用静态方法sum并接收返回值
int allScore =sum();
System.out.println("总分:" + allScore);
}
}
静态初始块
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,
public class HelloWorld {
String name; // 声明变量name
String sex; // 声明变量sex
static int age;// 声明静态变量age
// 构造方法
public HelloWorld() {
System.out.println("通过构造方法初始化name");
name = "tom";
}
// 初始化块
{
System.out.println("通过初始化块初始化sex");
sex = "男";
}
// 静态初始化块
static {
System.out.println("通过静态初始化块初始化age");
age = 20;
}
public void show() {
System.out.println("姓名:" + name + ",性别:" + sex + ",年龄:" + age);
}
public static void main(String[] args) {
// 创建对象
HelloWorld hello = new HelloWorld();
// 调用对象的show方法
hello.show();
}
}
封装
面向对象的特性:
封装,继承,多态