一、程序写作(创建对象的初始化过程)
1、目的/结果:输出一段话“。。。”
2、步骤:
(1)创建一个基础类,main;
(2)创建一块内存空间,用来存储这段话
①先定义属性,name,sex,age等;
②再定义方法,需要重新创建新的class类,但不需要新的ma方法;
(3)调用系统方法/库方法println,实现输出结果
①在原有的类中创建新对象,将新的class类中的方法调用过来;
②运行,输出所有的内容。
//--------------------------------------------------
用注释去实现程序逻辑
用自然逻辑思考程序逻辑,并按照具体步骤写出来
写清楚每一步
二、Java数据类型(二)
1.数组的概念和作用
(1)数组是相同数据类型元素的集合
数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。
(2)数组的举例
int [] a = new int []{1,2,3,4,5};
String [] s = new String []{"小熊","小小熊","小小小熊"};
Employee [] e=new Employee[10];(Employee是自定义类)
2.数组的声明和创建
(1)数组的声明:数组的声明有两种方式:
数据类型 [] 数组名字 例如:int [] a;
数据类型 数组的名字 [] 例如: int a [];
注意:
1.在Java语言中两种声明方法没有任何区别,但是建议大家用第一种,避免混淆a的数据类型。
2.数组在声明后还只是一个空指针,不能使用,要想使用必须创建。
(2)数组的创建:数组创建的三种方式:
① 声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值
char[] chAry = new char[10];
② 声明数组并分配内存,同时将其初始化
int[] ary1 = new int[]{1, 2, 3, 4, 5};
③ 与前一种方式相同,仅仅只是语法相对简略
int[] ary2 = {1, 2, 3, 4, 5};
(3)数组的长度:length属性
int [] b1 = new int []{1,2,3,4,5,6,7};
System.out.println(b1.length);
注意:数组的长度是属性,String的长度是length();
创建数组的时候必须指定数组的长度,而且一经定义则不允许改变。
数组的长度虽然是7,但是在内存中实际给8个位置,另外一个存储7。
//---------------------------------------------------
在C语言中,不可以将数组直接赋值给另一个数组;
在Java中,语法上允许这样做,但实际得到的效果是两个数组引用指向同一块内存。
int[] ary1 = {2, 4, 6, 8, 10};
int[] ary2;
ary2 = ary1; //允许这样赋值
三、Java运算符
按照功能分,Java中的运算符可以分为四类:算术运算符,位运算符,比较运算符,逻辑运算符,算术运算符。
1.算术运算符
单目:+(取正)-(取负) ++(自增1) - -(自减1)
双目:+ - * / %(取余)(+还可以连接字符串)
三目:a>b?true:false
2.位运算符:(先转化成二进制再进行运算)
(1)与(&)、非(~)、或(|)、异或(^);
(2)移位运算符:<<、 >>(有符号右移) 、 >>>(无符号右移);
(3)左移1位相当于乘以2,右移1位相当于除以2,比乘除运算效率更高。
3.比较运算符:
== ,<,>,<=,>=,!= ;
==与!=比较基本数据类型是比较值,比较引用类型是虚地址;
除了== !=外,都只能比较基本数据类型;
注意:比较运算符的返回值为true或false。
4.逻辑运算符
用于连接两个boolean类型的表达式;
&& (双与) 、|| (双或) 、&(与)、|(或)、^(异或)、!(非运算);
注意事项:
1.&&与&的运算结果是相同的,对于&而言无论左边为什么值,右边都参与运算;对于&&来说,只要左边为false右边就不再运算,直接返回false
2.||与|的运算结果是相同的,对于|而言无论左边为什么值,右边都参与运算;对于||来说,只要左边为true右边就不再运算,直接返回true
3.&&和||可以理解为物理上的短路,实际中多用&&及||
四、流程控制
Java中的流程有三类:顺序流程,分支流程,循环流程。
1.分支语句if/else
(1)条件语句if
if(){
语句块
}
(2)条件语句if...else...
if(){
语句块1
}else{
语句块2
}
(3)条件语句if...else if...
if(){
语句块1
}else if{
语句块2
}else{
语句块3
}
2.条件语句switch
(1)语法格式
switch (表达式)
{
case 取值1:语句块1
…
case 取值n:语句块n
default: 语句块n+1
}
(2)说明
① 表达式的值只可以接受int、byte、char、short 型、枚举,JDK1.6以后String也可以,不接受其他类型的值,不允许有重复的case取值;
② switch一旦碰到第一次case匹配,程序就会跳转到这个标签位置;
③ 开始顺序执行以后所有的程序代码,而不管后面的case条件是否匹配,直到碰到break语句为止。
(3)示例
int x = 2;
switch (x) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("Sorry,I don‘t know");
}
3.循环语句for,while,do/while
(1)循环语句while
示例:计算1+2+3+…+10的和
int x=1;
while(x<11){
System.out.println("x="+x);
x++;
}
(2)循环语句do...while
① 语法格式
do
{
执行语句块;
} while(条件表达式 );
② 示例
int x=3;
do{
System.out.println("x="+x);
x++;
} while(x<3);
(3)循环语句for
语法格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句块
}
(4)循环的中断语句 break 、continue
作用:中断语句;多重循环中可以使用标号,指定中断的具体循环。
break语句用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环;continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下未执行的循环,开始下一次循环过程。