主要关注与cpp的不同之处
简介
Java特性
- 面向对象语言
- 抽象,构成类:可重用、可靠性
主要功能
抽象封装、继承、多态
cpp:
compile
xx.java ------------> xx.exe
java:
compile interpreter
xx.java ------------> xx.class --------------> 二进制可运行文件
通用,可跨平台
常量与变量
常量 运行过程中不变化
变量 运行过程中变化
首字母为 a-z,A-Z,_,$
后续为上述及0-9
char
单引号’ ',及转义\n等
bool
false 及 true
string 字符串(***)
无字符串数组,只有string类
类型比较运算符(***)
instanceof
e instanceof Point // Point是一个类
类型转化
扩展转换
由小到大 int -> double
窄化转换
由大到小 double -> int
注意:可能会损失精度
字符串转换(***)
任何其他类型都可转成string类型string + 其他类型 其他类型 -> string
强制转换
(float) 5.0扫描二维码关注公众号,回复: 5804326 查看本文章
数组(***)
- 存放同一类型数据
- 是java下的一个对象 (注意)
- 动态初始化 引用
- 可赋值给object类型的变量
- 查看数组长度:array.length
- 通过下标index访问成员
数组生命周期
- 声明
- 创建
- 元素初始化
- 通过下标使用数组
声明引用(起名字)
int[] array;
string[] Args;
创建(new,说明类型及成员个数)
int[] a; a = new int[10];
int[] a = new int[10]; // 上述两步可直接合并成一步
初始化
int[] a = {1,2,3,4,5};
int类型初始化默认为0,bool类型初始化默认为false,引用类型初始化默认为null
访问
array[index] //访问下标为index的成员
array.length //获取数组的长度
// 如果index越界,则程序会自动终止
复制
int[] a1 = {1,2,3,4,5};
int[] a2;
a2 = a1;
for(int i = 0;i <= a2.length;i++)
{
a2[i]++;
}
// result:a1[0] = 2;a1[1] = 3;a1[2] = 4;....
// 可知,a2与a1指向同一个数组,没有产生副本
有副本复制(***)
char[] copyFrom = {'a','b','c'};
char[] copyTo = new char[7];
//从copyFrom的index为2的成员开始,复制7个元素到copyTo的index为0处起始的7个元素
System.arraycopy(copyFrom,2,copyTo,0,7);
//不可打印字符数组,需要创建字符串,然后输出
system.out.println(new String(copyTo));
多维数组
int[][] myArray;
myArray = new int[3][5];
// 可变成
int[][] myArray = new int[3][5];
int[][] myArray = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}};
*** Java中的数组的每一列成员个数可不同,真正说明,二维数组是由一维数组组成的
row.length = 3; //row的行数
row[0].length = 3;row[1].length = 2;row[2].length = 5;
增强for循环
for(TypeName:集合或数组对象) //有多少个成员就循环多少次
{
循环体;
}