本文共 3509 字,大约阅读时间需要 11 分钟。
文章目录
一.Java数据类型:
两种:
•引用数据类型(面向对象中常用)
•基本数据类型(8种)
1.基本数据类型
1.有8种。字节型,短整型,整型,长整型,单精度,双精度,布尔型,字符型。
都存储在栈中,栈的特点,存储空间小,存取速度快。2.所占字节数说明:
计算机中用二进制表示两种状态,1与0称为“位” (bit) 计算机中8位处理经常出现,因此新定义一个东西,叫“字节”。
由于java程序运行在jvm虚拟机上,因此java所占字节数与在多少位数的电脑上无关。
而c语言等一些其他语言就不同了,所占字节数与平台相关,也有相应的编译器相关。
1字节=8位
1短整型=2字节(16位),
1整型=4字节(32位)
1长整型=8字节(64位)
1单精度型=4字节
1双精度类型=8字节
1布尔型至少占1字节。在内存中是1字节存储,但在java程序编译之后都转化位int类型,也就是4字节。但是bool型的数组,被java虚拟机jvm编译成1字节,就是每个bool元素占1字节。
最需要知道的:java程序主要子啊java虚拟机中运行,因此跟虚拟机的处理相关,不同的虚拟机处理有时候又不一样。
3.表示范围:
一个字节8位。
整型: 小数类型:表示范围从小到大排序:
byte—short–*int ----*long–float—double
由于存储结构的不同,long虽然占8字节,float占4字节但是float表示的数更大。
2.引用数据类型
三类:
1.类 2.接口 3.数组 都存储在堆区中,特点:空间大,存取速度相对于栈比较慢。类:
面向对象中常有的,就是自己定义的一些类型。比如自己定义一个类叫做Person,Person中有很多属性,有身高,姓名,性别,爱好,班级,学号,学习成绩等。
把这些属性都抽象放在一起,形成Person类。这个Person类就是一种新的数据类型。
目录:
二.java程序流程控制:
1.if分支
语法:
if (条件判断式子){
执行语句;
}esle if(条件判断式){
执行语句;
}else if(条件判断式子){
执行语句;
}
class HelloWorld{ public static void main(String[] args){ int score=500; if (score>=1000) { System.out.println("a"); }else if(score>700){ /* 条件相当于score<1000&&score>700 */ System.out.println("b"); }else if (score>60){ /*条件相当于score<=700 &&score>60*/ System.out.println("c"); }else{ System.out.println("d"); } }}
2.switch 的运用
class HelloWorld{ public static void main(String[] args){ int grade="2"; switch(grade){ case "2": System.out.println("✳");break; case "3": System.out.println("✳✳");break; case "4": System.out.println("✳✳✳");break; default: System.out.println("no");break;} }}/*符合哪种情况,就执行语句,之后break退出switch,否则会一直穿透运行下去。*/
break作用就是退出switch, 否则会穿透运行,往下一直运行。
swith灵活运用:
class Switch{ public static void main(String[] args){ int year=2012; int month=2; int day=30; switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: day=31;break; case 2: if(year%400==0||(year%4==0&&year%100!=0)){ day=29;break;//闰年 }else{ day=28; break;}//平年 case 4: case 6: case 9: case 11: day=30;break;} System.out.println("date:"+year+"年"+month+"月"+day+"日"); /*利用穿透运行,省去了break,以及每一种情况都给day=31赋值;*/ }}
3.while循环
/*循环打印1--100的数字*/class While{ public static void main(String[] args) { int i = 0; while (i <= 100) { System.out.println("打印" + i); i += 1; } }}
4.do while循环
/*打印100--1000之内所有的各位和百位一样的数字 如191 202*/class do_While { public static void main(String [] args){ int i=100; do{ //个位 int g = i%10; //百位 int b =i/100; if (g==b) System.out.println("打印数字"+i); i+=1; }while(i<=1000); /*do while是先执行 循环体,再判断。*/
5.for循环(常用)
/*print 99乘法表*/class MultiTable{ public static void main(String[] args){ //行循环 for (int i=1;i<=9;i++){ //列循环,注意k
6.Continue和break
class Continues{ public static void main(String [] args){ for(int i=1;i<=5;i++){ if(i==3){ System.out.println("星期"+i+"请假"); continue;//终止本次循环,但后面的循环继续。 } System.out.println("星期"+i+"上班"); } }}
class Continues{ public static void main(String [] args){ for(int i=1;i<=5;i++){ if(i==3){ System.out.println("星期"+i+"请假"); break;//终止循环,i==3的时候退出循环 } System.out.println("星期"+i+"上班"); } }}
权限private default protected public
转载地址:https://blog.csdn.net/weixin_43919632/article/details/90321345 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!