数据类型的转换:
一般分为两种:
(1):自动转换类型
(2):强制转换类型
1.自动转换类型的条件:需要转换的类型的范围一定要比自己将要转换的小,并且兼容
例如:short可以转int
int 可以转 long
但是;int 转boolean就不行,因为不兼容
2.强制转换类型;
例如:double a=20.01;
int b=(int)a;
语法是:(要转换的类型)变量名称
值得注意的时:强制转换容易丢失数据的精确度
运算符:
我主要记录几个比较重要的
1.“=”和“==”区别
在程序中“=”是赋值运算符,“==”比较两个对象相等(在这里多说一点,“==”是值和地址都相等才会相等)
2.++,--在单独的时候与不单独的时候的区别
看代码:
public void test3(){
int a=2;
a++;
System.out.println("a在没有其他运算符参与的情况++:"+a);
int b=2;
b--;
System.out.println("a在没有其他运算符参与的情况--:"+b);
int c=2;
int d=c++;
System.out.println("++在等号后面"+d);
int e=++c;
System.out.println("++在等号前面"+c);
}
结果:
a在没有其他运算符参与的情况++:3
a在没有其他运算符参与的情况--:1
++在等号后面2
++在等号前面4
我自己的总结就是:那个离等号越近,先计算那个,比如d=c++,就先计算把c赋值给d;e=++c,就是先自加,再辅助
3.逻辑运算符的区别--&和&&的区别,|和||的区别
一切用代码来说话:
public void test4(){
if(10!=10& 10/0==0){
System.out.println("OK");
}
}
结果是:java会抛出一个异常,就是被除数不能为零的异常
public void test5(){
if(10!=10&&10/0==0){
System.out.println("OK");
}
}
结果:通过编译
总结:与分为一般与(&)和短路与(&&),对于短路与来说,如果第一个条件为false,则后面的所有条件都不会再判断,结果是false,"|"和“||”也一样,如果短路或(||),第一个条件为true,后面也不用判断,结果就是true
4.位运算符:(>>和<<)
我说这个的原因是:位运算的速度远远高于一般运算
例如计算2的10次方最快的方法:2<<10
代码:
public void test5(){
System.out.println(2<<10);
}
选择与循环语句:
我一般写出来的都是容易犯错的或者经常用到的
1.三目运算
格式:条件判断?表达式1:表达式2
代码:
public void test6(){
int a=2;
int b=3;
System.out.println(b>a?"b大于a":"b不大于a");
}
结果:
b大于a
2.switch语句:
代码:
public void test7(){
int a=80;
switch (a) {
case 10:
break;
case 20:
break;
default:
System.out.println("没有");
break;
}
}
结果:
没有
public void test8(){
int a=80;
switch (a) {
case 10:
case 20:
case 30:
System.out.println("OK");
break;
case 80:
System.out.println("找到了");
break;
default:
System.out.println("没有");
break;
}
}
这段代码是为了说明switch语句的合并
结果:
找到了
3.while和do...while的区别
while是先判断在做,而do..while是先做一次在判断
4.for 语句
在这儿我说下这个for语句for(int i=0;i<100;i++){}
最好的是把i的范围值写成一个定制,这样可以避免重复运算
例如:for(int i=1;i<a.size();i++)改为for(int i=1,b=a.size();i<b;i++)
打印九九乘法表:
代码:
public void test9(){
for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
if(j<=i){
System.out.print(i+"*"+j+"="+i*j+" ");
}
}
System.out.println("");
}
}
结果:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
5.循环的中断:
break:跳出当前循环
public void test10(){
for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
if(j<=i){
System.out.println(j+"<"+i+"就退出");
break;
}
}
}
}
contiune:停止一轮循环
结果:
1<1就退出
1<2就退出
1<3就退出
1<4就退出
1<5就退出
1<6就退出
1<7就退出
1<8就退出
1<9就退出
如果想要一次性跳出多重循环怎么办喃?
利用label和break一起使用
代码:
public void test10(){
labelbreak:for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
if(j<=i){
System.out.println(j+"<"+i+"就退出");
break labelbreak;
}
}
}
}
结果:
一般分为两种:
(1):自动转换类型
(2):强制转换类型
1.自动转换类型的条件:需要转换的类型的范围一定要比自己将要转换的小,并且兼容
例如:short可以转int
int 可以转 long
但是;int 转boolean就不行,因为不兼容
2.强制转换类型;
例如:double a=20.01;
int b=(int)a;
语法是:(要转换的类型)变量名称
值得注意的时:强制转换容易丢失数据的精确度
运算符:
我主要记录几个比较重要的
1.“=”和“==”区别
在程序中“=”是赋值运算符,“==”比较两个对象相等(在这里多说一点,“==”是值和地址都相等才会相等)
2.++,--在单独的时候与不单独的时候的区别
看代码:
public void test3(){
int a=2;
a++;
System.out.println("a在没有其他运算符参与的情况++:"+a);
int b=2;
b--;
System.out.println("a在没有其他运算符参与的情况--:"+b);
int c=2;
int d=c++;
System.out.println("++在等号后面"+d);
int e=++c;
System.out.println("++在等号前面"+c);
}
结果:
a在没有其他运算符参与的情况++:3
a在没有其他运算符参与的情况--:1
++在等号后面2
++在等号前面4
我自己的总结就是:那个离等号越近,先计算那个,比如d=c++,就先计算把c赋值给d;e=++c,就是先自加,再辅助
3.逻辑运算符的区别--&和&&的区别,|和||的区别
一切用代码来说话:
public void test4(){
if(10!=10& 10/0==0){
System.out.println("OK");
}
}
结果是:java会抛出一个异常,就是被除数不能为零的异常
public void test5(){
if(10!=10&&10/0==0){
System.out.println("OK");
}
}
结果:通过编译
总结:与分为一般与(&)和短路与(&&),对于短路与来说,如果第一个条件为false,则后面的所有条件都不会再判断,结果是false,"|"和“||”也一样,如果短路或(||),第一个条件为true,后面也不用判断,结果就是true
4.位运算符:(>>和<<)
我说这个的原因是:位运算的速度远远高于一般运算
例如计算2的10次方最快的方法:2<<10
代码:
public void test5(){
System.out.println(2<<10);
}
选择与循环语句:
我一般写出来的都是容易犯错的或者经常用到的
1.三目运算
格式:条件判断?表达式1:表达式2
代码:
public void test6(){
int a=2;
int b=3;
System.out.println(b>a?"b大于a":"b不大于a");
}
结果:
b大于a
2.switch语句:
代码:
public void test7(){
int a=80;
switch (a) {
case 10:
break;
case 20:
break;
default:
System.out.println("没有");
break;
}
}
结果:
没有
public void test8(){
int a=80;
switch (a) {
case 10:
case 20:
case 30:
System.out.println("OK");
break;
case 80:
System.out.println("找到了");
break;
default:
System.out.println("没有");
break;
}
}
这段代码是为了说明switch语句的合并
结果:
找到了
3.while和do...while的区别
while是先判断在做,而do..while是先做一次在判断
4.for 语句
在这儿我说下这个for语句for(int i=0;i<100;i++){}
最好的是把i的范围值写成一个定制,这样可以避免重复运算
例如:for(int i=1;i<a.size();i++)改为for(int i=1,b=a.size();i<b;i++)
打印九九乘法表:
代码:
public void test9(){
for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
if(j<=i){
System.out.print(i+"*"+j+"="+i*j+" ");
}
}
System.out.println("");
}
}
结果:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
5.循环的中断:
break:跳出当前循环
public void test10(){
for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
if(j<=i){
System.out.println(j+"<"+i+"就退出");
break;
}
}
}
}
contiune:停止一轮循环
结果:
1<1就退出
1<2就退出
1<3就退出
1<4就退出
1<5就退出
1<6就退出
1<7就退出
1<8就退出
1<9就退出
如果想要一次性跳出多重循环怎么办喃?
利用label和break一起使用
代码:
public void test10(){
labelbreak:for(int i=1;i<=9;i++){
for(int j=1;j<=9;j++){
if(j<=i){
System.out.println(j+"<"+i+"就退出");
break labelbreak;
}
}
}
}
结果:
1<1就退出
我会持续更新我的博客,让我一起来学习java,我的QQ是313895131,想和我交流的请发邮件,邮件标题一定要带有csdn,这样我才容易找!!