Java与面向对象程序设计简介

主要关注与cpp的不同之处

简介

Java特性
  1. 面向对象语言
  2. 抽象,构成类:可重用、可靠性
主要功能

抽象封装、继承、多态

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 查看本文章
数组(***)
  1. 存放同一类型数据
  2. 是java下的一个对象 (注意)
  3. 动态初始化 引用
  4. 可赋值给object类型的变量
  5. 查看数组长度:array.length
  6. 通过下标index访问成员

数组生命周期

  1. 声明
  2. 创建
  3. 元素初始化
  4. 通过下标使用数组

声明引用(起名字)

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:集合或数组对象)    //有多少个成员就循环多少次
{
	循环体;
}

猜你喜欢

转载自blog.csdn.net/qq_34102672/article/details/89074331