一.数据类型
Java中有八种基本类型,都是Java语言预先定义好的,并且是关键字。
这八种基本类型分别是:
整型 (4种)
字符型 (1种)
浮点型 (2种)
布尔型(1种)
[图片上传失败...(image-b250da-1585128155504)]
2.字符型:
char类型用于存放一个字符,值用单引号'表示 (双引号表示字符串)
其长度和short一样,也是16位的
只能存放一个字符,超过一个字符就会产生编译错误
[图片上传失败...(image-e48d9a-1585128155504)]
4.boolean型
[图片上传失败...(image-a6154-1585128155504)]
5.String类型其实并不是基本类型,但是它是如此广泛的被使用,常常被误以为是一种基本类型。
String类型是Immutable的,一旦创建就不能够被改变final的使用
final 修饰一个变量,有很多种说法,比如不能改变等等
准确的描述是 当一个变量被final修饰的时候,该变量只有一次赋值的机会// 方式一:在声明的时候赋值 public class HelloWorld { public void method1() { final int i = 5; i = 10; //i在第4行已经被赋值过了,所以这里会出现编译错误 } } // 方式二:在声明的时候没有赋值,在后面的代码中进行唯一的一次赋值 public class HelloWorld { public void method1() { final int i; i = 10; //i在第4行,只是被声明,但是没有被赋值,所以在这里可以进行第一次赋 i = 11; //i在第6行已经被赋值过了,所以这里会出现编译错误 } } // 方式三:final 除了修饰变量,还可以修饰类,修饰方法。 // 方法四:final修饰的是参数 public class Final { public void method(final int i) { i = 10; // 这个是错误的,实际上这已经是第二次赋值了 int sum = 0; sum += i; System.out.println(sum); } public static void main(String[] args) { // TODO Auto-generated method stub // 正确方法是,先实例化,然后在复制是正确的的 new Final().method(10); new Final().method(20); } }
二.操作符
常用的都学过了
Integer.toBinaryString() 方法,将一个十进制整数转换为一个二进制字符串
三元运算符:(java中唯一一个?)
表达式?值1:值2 如果表达式为真 返回值1 如果表达式为假 返回值2
public class HelloWorld { public static void main(String[] args) { int i = 5; int j = 6; int k = i < j ? 99 : 88; // 相当于 if (i < j) { k = 99; } else { k = 88; } System.out.println(k); } }
操作符 Scanner
// 包 import java.util.Scanner; // 使用方法 Scanner s = new Scanner(System.in); // 读取整数 int a = s.nextInt(); // 读取浮点数 float a = s.nextFloat(); // 读取字符串 String a = s.nextLine();
三.for循环
int values[] = new int[]{18,68,62,82,65,9}; // 普遍方式 for(int i = 0;i<values.length;i++){ System.out.print(values[i]+" "); } // 增强方式 // 如果只想遍历数组中的元素,这种循环不能改变数组的元素 for(int values : values){ System.out.print(values); }
四.数组的复制
import java.util.Arrays; public class Array_Copy { public static void main(String[] args) { // TODO Auto-generated method stub int a[] = {8,15,6,24,12,15}; int c[] = new int[3]; // 输出原数组 for(int b : a) { System.out.print(b+" "); } // 普通遍历的方法进行复制 for(int i = 0;i<c.length;i++) { c[i] = a[i+2]; } // 实现换行 System.out.println(); // 这是一个操作数组的类,可以不用遍历 直接输出数组 System.out.println(java.util.Arrays.toString(c)); // 可以简写 需要先将这个包引入 // 简写形式System.out.println(Arrays.toString(c)); // java提供的api进行复制,只需要对应传参 // 参数解释:src:指原数组,srcPos:从第几个开始复制,dest:目的数组, // destPos:复制到目的数组的那个位置,length:目的数组的长度 // 需要注意:length要进行两个数组的比对,不得超出 System.arraycopy(a, 2, c, 0, c.length); System.out.println(java.util.Arrays.toString(c)); } }
五.二维数组
在java中数组是不能变化的,可以保证系统的稳定性 eg: int[2][3]:指的是数组里面包含了两个一维数组,每个以为数组里面有三个元素
public class Two_dimensional_array { public static void main(String[] args) { // TODO Auto-generated method stub // 有两个一维数组,每个一维数组的长度是3(注意:左边是对数组的引用,右边才是创建数组) int a[][] = new int[2][3]; // 可以直接访问一维数组,因为已经分配了空间 a[1][2] = 5; // 只分配了二维数组 // 有两个一维数组,每个一维数组的长度暂未分配 int b[][] = new int[2][]; //必须事先分配长度,才可以访问 b[0] = new int[3]; b[0][2] = 5; // 指定内容的同时,分配空间 int c[][] = new int[][] { {1,2,3}, {4,5}, {6,7,8,9} }; } }