数据类型
转义字符
/t 制表符 /n 换行
int i = 128;
byte b = (byte)i; // 内存溢出 //强制转换 (类型)变量名 高--低
double d = i; // 自动转换 低--高
// 注意点:
不能对布尔值类型进行转换
不能把对象类型转换为不相干的类型
在把高容量转换到第容量的时候 强制转换 反之不用转换
转换的时候会可能存在内存溢出,或者精度问题!
System.out.println((int)23.7);// 23
Systme.out.println((int)-34.34F); // -34
system.out.println("==================")
char c = 'a';
int d = c+1;
System.out.println(d)// a默认是97 + 1 = 98
System.out.println((char)d) // b
System.out.println("==================")
// 操作比较大的数的时候 注意溢出问题
// jdk7 新特性 数字之间可以用下划线分割
int moneny = 10_0000_0000;
int years = 20;
int total = money*years; // 计算的时候溢出 -1474836480
long total = years*((long)money); // 可以直接转换成long类型
System.out.println(total); // 默认是int 转换之前已经存在问题了
变量
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型
变量名必须是合法的标识符。
变量声明是一个完整的语句,因此每个都必须以分号结束;
// 数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型的变量
**变量作用域**
类变量
实例变量
局部变量
public class Variable{
Static int allClicks = 0; // 类变量 从属于类
String str = "Hello world"; // 实例变量 从属于对象
// 如果不自行初始化,这个类型的默认值
// 数字默认是 0 小数数0.0 字符串 null 布尔值 默认false
public void method(){
int i = 0; // 局部变量 必须声明和初始化值
}
}
// 修饰符 static(静态的) final(常量)
运算符
、、 2^3 很多我们会借助工具类 2的三次方
double pow = Math.pow(2,3);
算数运算符 +,-,*,/,%,++,–,
赋值运算符 =
关系运算符 >, < ,>=, <=, == , !=,
逻辑运算符 $
位运算 << , >> ,
三元运算符 如果 x== true? y : z;// 则结果为y 否则结果为z;
阿里巴巴开发手册
javaDoc
IDEA 选中一个类 Show Explorer(从文件夹打开) 自动生成Doc文档
cmd Javadoc -encoding UFT-8 -charset UTF-8 DBHelper.java(类名)
Scanner对象
java.util.Scanner 类, 我们可以通过Scanner类来获取用户的输入
基础语法:
Scanner scanner = new Scanner(System.in);
通过Scanner类的 next() 与 nextLine() 方法获取输入的字符串,在读取
前我们一般需要使用 hasNext()与hasNextLin()判断是否还有输入的数据。
创建一个扫描对象 用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方法接收:");
// 判断用户有没有输入字符串
if(scanner.hasNext()){
String next = scanner.next();
System.out.println("输入的内容是:"+next);
}
// 凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
scanner.close();
next()
一定要读取有效字符后才可以结束输入。
对输入有效字符前遇到的空白,next()方法会自动将其去掉。
只能输入有效字符后才能将其后面输入的空白作为分隔符或者结束符
next() 不能得到带有空格的字符串
nextLine()
以Enter为结束符,也就说nextLine()方法返回的是输入回车之前的所有字符
可以获取空白
条件判断
顺序结构
Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行
顺序结构是最简单的算法结构
选择结构
if单选结构
if双选结构
if多选结构
嵌套if结构
switch多选结构
equals() 判断字符串是否相等
可变参数
递归
public static void main(String[] args) {
int fo = Demo01.fo(4);
System.out.println(fo);
}
public static int fo(int num){
if(num == 1){
return 1;
}else{
return num*fo(num-1);
}
}
稀疏数组