JAVA学习
Java基础
注释
- 单行注释
- 多行注释
- 文档注释
public static void main(String[] args) {
//单行注释-双斜杠 快捷键ctrl+/
//多行注释
/*注
释*/
System.out.println("Hello World");
}
数据类型
Java的数据类型分为两大类
- 基本类型
- 数值类型
- 整数类型:byte、int、short、long
- 浮点类型:float、double
- 字符类型:char
- 布尔类型:boolean
- 引用类型
- 类
- 接口
- 数据
public static void main(String[] args) {
int num1=10;
byte num2=20;
short num3=30;
long num4=30L;//long类型要在数字后面加个l
float num5=50.1F;
double num6=3.14378478579204;
char name='国';
boolean flag=true;
}
}
变量、常量
- 局部变量
- 实例变量
- 类变量
- 常量:final修饰
public class Demo02 {
//常量
static final double PI=3.14;
//实例变量:从属于对象;如果不自行初始化,具有默认值
String name;
int num;
//类变量
static int age;
public static void main(String[] args) {
//常量
System.out.println(PI);
//局部变量 必须声明和初始化
int a=1;
System.out.println(a);
//实例变量
Demo02 demo02=new Demo02();
System.out.println(demo02.name);
System.out.println(demo02.num);
//类变量
System.out.println(age);
}
}
运算符
同C
- short类型+byte类型=int类型
包机制
为了更好组织类,java提供了包机制,用于区别类名的命名空间
包语句的语法格式为:
package pkg1[.pkg2[.pkg3...]];
为了能使用某一个包的成员,需要导入该包
import package1[.package2[.package3...]].(classname|*)
JavaDoc
用来写API文档的
package base;
/**
* @author liu
* @version 1.0
*/
public class JavaDoc {
/**
*
* @param name
* @return
* @throws Exception
*/
public String test(String name) {
return name;
}
}
IDEA生成JavaDoc文档
用户交互Scanner
Java工具类,可以获取用户的输入。java.util.Scanner是Java5的新特征。
基本语法:
Scanner s= new Scanner(System.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
package base;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:");
if (scanner.hasNext()) {
String str = scanner.next();
System.out.println("scanner.next()输入的内容为:" + str);
}
scanner.close();
/*
请输入:
hello world
scanner.next()输入的内容为:hello
*/
Scanner scanner2 = new Scanner(System.in);
System.out.println("请输入:");
if (scanner2.hasNextLine()) {
String str2 = scanner2.nextLine();
System.out.println("scanner.nextLine()输入的内容为:" + str2);
}
scanner2.close();
/*请输入:
hello world
scanner.nextLine()输入的内容为:hello world*/
scanner.hasNextInt();//判断输入是不是整数
scanner.hasNextFloat();//判断输入是不是浮点数
scanner.hasNextBoolean();//判断输入是不是布尔
}
}
流程控制
同C
- 顺序结构
- 循环结构
- 选择结构
方法的定义
修饰符 返回值 方法名 (参数类型 参数名){
方法体...
return 返回值
}
方法的重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数。
方法重载的规则:
- 方法名称必须相同
- 参数列表必须不同(个数不同或类型不同、参数排列顺序不同等)
- 方法的返回值可以相同也可以不同
- 仅仅返回类型不同不足以成为方法的重载
实现理论:
方法名称相同时,编译器会根据调用方法的参数格式、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败则会报错。
可变参数
JDK1.5开始,Java支持传递同类型的可变参数给一个方法
在方法声明中,在指定参数类型后加一个省略号。
一个方法只能指定一个可变参数,它必须是方法的最后一个参数,任何普通参数都必须在它之前声明
package base;
public class Demo04 {
public static void main(String[] args) {
Demo04 demo04 = new Demo04();
demo04.test(1,2,3);
}
public void test(int x,int ...i){
System.out.println(x);
System.out.println(i[0]);
}
}