java学习之路3

数据类型的转换:
一般分为两种:
        (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,这样我才容易找!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值