Java学习(二)
引用类型
- java中,除了基本类型外的变量类型都称之为引用类型。
- String类型不是八个基本类型之一,它是JavaSE中常用的类。
-
当我们声明一个类类型的变量时,该变量就称为引用。一个引用要指向一个对象
String str = "my name is xxx"; //String s = new String("my name is xxx"); String str1 = "125"; String str2 = "125"; //字符串用""来表示。字符用''表示 char s = 'A'; //表示的是字符。用''来表示 System.out.print(str); int j = 9; System.out.print(str2+j); //得到1259 任何类型的数据与字符串相加都是字符串类型。拼接。 //每个对象都有一个toString(),每个对象都可以转换为字符串。 Scanner inputData = new Scanner(System.in); String mo = inputData.toString(); System.out.print(mo);
- java中每个对象都有一个toString方法,都可以转换为字符串
- 引用不包含它所指向的对象的实际数据,而是指向内存中对象所在的位置,指向一个内存地址。
Java运行期的数据区
Java虚拟机的内部由类装载器、运行时数据区和执行引擎组成。
- 类装载器用来装载我们要执行的Java类,执行引擎负责执行被装载类的方法中的指令。
- 类文件、字节码、常量池(常量和字面量)都放在方法区。
- 所有对象都放在堆中
- 栈存放变量、参数、中间量、返回值。
选择结构程序设计
if语句
当if 或者else 后面只有一个语句 可以省略{}
if(money > 1000) System.out.print("买拖鞋");
System.out.print("这句话没在if的管辖范围内");
if语句一旦执行了 就不会执行else if 或者else,所有条件都不满足默认执行。
if(data_<4){
if(money>1000){
System.out.print("laxiabeier");
}else{
System.out.print("mb"); }
}else if(data_>=4 && data_<6){
if(money>1000){
System.out.print("约电影IMX"); }
else if(money>=500 && money <=1000){
System.out.print("约电影3D");
}else{
System.out.print("2D"); }
}else if(data_>=6 && data_<10){
System.out.print("吃饭");
}else{
System.out.print("门禁时间"); }
Switch语句
- 一个Switch语句中可以有很多case语句。
- case后的值必须是与Switch中的变量相同的数据类型。
-
当变量的值等case后的值时,该case语句后的语句开始执行,直到遇到break语句时,Switch语句结束。
switch(s){ case "name":System.out.print("name");break; case "age":System.out.print("age");break;}
switch 结构(表达式-->值) //case 表示选择的方案,case (表达式-->具体的值。称为表达式) //传入的参数必须和case 后面表达式类型保持一致 switch(data){ case 4: System.out.print("逛街"); break; case 5: System.out.print("看电影"); break; case 6: case 7: System.out.println("吃饭"); switch(money){ case 1000:System.out.print("香格里拉");break; case 900:System.out.print("太古里");break; default: System.out.print("酸菜味儿的xxxx"); } break; //终止当前的swich判断。 返回swicth继续执行switch外面的语句 default: System.out.print("今天已闭关 明天约");}
for循环
/*for(i=1;i<=n;){
//三个表达式,第一个从多少开始加 第二个加到哪儿停止
第三个参数每次加了后自增。
sum = sum + i;
System.out.println("i:"+i);
i++; //i++写在这个位置和写在上面一个意思。}*/
第二段
for(i =1;;){
if(i<=n){
sum+=i;
}else{
break; }
i++; }
int k=0;
for(;;){ //死循环,没有条件停止循环
k++;
System.out.print("我第"+k+"次循环");}
break和continue
for(j=1;j<=10;j++){
//当执行到5后停止循环
if(j==5){
//break; //break :switch里面结束判断。
在循环里面是跳出本轮循环。
continue; //结束本次循环,开始下次循环。}
ji *=j;}