JAVA基础知识(二)

一.变量使用注意事项

  1. 定义变量不能重名。
  2. 变量赋值才能使用。
  3. 改变默认类型:long(L)和float(F)。
  4. 小类型的转大类型强制类型转换可能会导致数据精度丢失。
  5. byte,short,char已经优化了,可以直接接收,而不用标注类型,但是当有变量参与运算的时候,会被转换成int类型。

二.自动类型转换和强制类型转换

  1. 代码示列

    public static void main(String[] args){
    //自动类型转换
    double a=10;
    byte b=50;
    short s=b;
    int c=b;
    int d=s;
    //强制类型转换
    int k=(int)88.88;
    System.out.println(a);
    System.out.println(b);
    System.out.println(s);
    System.out.println©;
    System.out.println(d);
    System.out.println(k);
    }
    运行结果

    10.0
    50
    50
    50
    50
    88

三.标识符命名

  1. 由数字,字母,下划线,美元符组成
  2. 不能以数字开头
  3. 不能是关键字
  4. 尽量使用有意义的英文单词,区分大小写
  5. 小驼峰命名法:(方法,变量)一个单词的时候,首字母小写,多个单词的时候,第一个单词首字母小写,后面的单词首字母大写。
    大驼峰命名法:(类)所有单词的首字母大写
    a. 包名全部小写
    b. 类名和接口名使用大驼峰命名法
    c.常量名所以字母大写,单词之间使用下划线连接
    d.变量名和方法名使用小驼峰命名法

四.四则运算

  1. 代码示列

     int a=1;
     int b=2;
     System.out.println(a+b);
     System.out.println(a-b);
     System.out.println(a*b);
     System.out.println(a/b);
     System.out.println(a%b);
    

运行结果

3
-1
2
0
1

五.字符运算

  1. ASCLL表
    'A’的值为65,A-Z是连续的
    'a’的值为97,a-z是连续的
    '0’的值为48,0-9是连续的

  2. byte,short,char参与运算就会被提升成int,后面是谁大及被提升成什么类型。

  3. 代码示列

     int a=1;
     int b=2;
     //字符的+操作
     char c='A';//'A'的值为65,A-Z是连续的
     char d='a';//'a'的值为97,a-z是连续的
     char e='0';//'0'的值为48,0-9是连续的
     System.out.println(a+c);
     System.out.println(a+d);
     System.out.println(a+e);
    

运行结果

66
98
49

六.字符串的运算

  1. 注意
  • 数字在后面的时候会直接做字符串拼接,数字在前面的时候先做数字的+操作。
  • 遵循先计算小括号里面的内容,先乘除后加减。
  1. 代码示列

     int a=1;
     int b=2;
     System.out.println("it"+"heima");
     System.out.println("it"+"heima"+666);
     System.out.println(666+"it"+"heima");
     System.out.println("黑马"+6+666);//数字在后面的时候会直接做字符串拼接
     System.out.println("黑马"+(1+99));//先计算小括号里面的内容
     System.out.println(1+99+"heima");//数字在前面的时候先做+操作
     System.out.println("a和b的值"+a*b);//先乘除后加减
     System.out.println("a的值的"+a);
    

运行结果

itheima
itheima666
666itheima
黑马6666
黑马100
100heima
a和b的值2
a的值的1

七.赋值运算符

  1. 注意
    使用赋值运算符+=可以进行自动的强制类型转换,而普通的四则运算则不行。

  2. 代码示列

     int g=10;
     System.out.println(g+=5);//g=g+5
     System.out.println(g-=5);//g=g-5
     System.out.println(g*=5);//g=g*5
     System.out.println(g/=5);//g=g/5
     System.out.println(g%=5);//g=g%5
     //注意:使用赋值运算符+=可以进行自动的强制类型转换
     short w=10;
     w+=20;
     //w=(short)(w+20);
     System.out.println(w);
    

运行结果

15
10
50
10
0
30

八.自增自减运算符

  1. ++:变量值加一

  2. –:变量减一

  3. 注意
    单独使用的时候i++和++i没有任何区别
    参与操作混合使用时i++和++i有很大的区别
    i++:先使用后++
    ++i:先++后使用

  4. 代码示列

     //单独使用
     int i=8;
     i++;
     System.out.println(i);
     ++i;
     System.out.println(i);
    
     //参与操作混合使用时i++和++i有很大的区别
     //int j=i++;//先赋值后++
     int j=++i;//先++后赋值
     System.out.println(i);
     System.out.println(j);
     //++与输出语句混合使用
     int h=10;
     System.out.println(h++);
     System.out.println(h);
    

运行结果

9
10
11
11
10
11

九.关系运算符

  1. 代码示列

     int i=10;
     int b=20;
     int c=10;
     Integer f=1;
     Integer m=1;
     System.out.println(f.equals(m));
     System.out.println(f==m);
     System.out.println(i==c);
     System.out.println(i==b);
     System.out.println(i!=b);
     System.out.println(i<b);
     System.out.println(b>c);
     System.out.println(i<=c);
     System.out.println(b>=c);
    

运行结果

true
true
true
false
true
true
true
true
true

十.逻辑运算符和短路运算符

  1. 基本规律
    &中,有false则false,只有全部都是true时,结果才是ture。
    |中,有true则true。
    ^中,相同为false,不同为true。
    !中,结果相反。
    &&中,有false则false,只有全部都是true时,结果才是ture。&&中只要有false结果就一定是false,后面就不执行了,具有短路效果。
    ||中,有true则true。||中只要有true结果就一定是true,后面就不执行了,具有短路效果。

  2. 代码示列

     int a=10;
     int b=20;
     int c=30;
     //&中,有false则false,只有全部都是true时,结果才是ture
     System.out.println(a>b&a>c);
     System.out.println(a>b&a<c);
     System.out.println(a<b&a>c);
     System.out.println(a<b&a<c);
     System.out.println("--------------------------");
     //|有true则true
     System.out.println(a>b|a>c);
     System.out.println(a>b|a<c);
     System.out.println(a<b|a>c);
     System.out.println(a<b|a<c);
     System.out.println("--------------------------");
     //^相同为false,不同为true
     System.out.println(a>b^a>c);
     System.out.println(a>b^a<c);
     System.out.println(a<b^a>c);
     System.out.println(a<b^a<c);
     System.out.println("--------------------------");
     //!结果相反
     System.out.println(a>b);
     System.out.println(!(a>b));
     System.out.println("------------------------------------------");
     //短路运算符
     //&&中,有false则false,只有全部都是true时,结果才是ture
     System.out.println(a>b&&a>c);
     System.out.println(a>b&&a<c);
     System.out.println(a<b&&a>c);
     System.out.println(a<b&&a<c);
     System.out.println("--------------------------");
     //||有true则true
     System.out.println(a>b||a>c);
     System.out.println(a>b||a<c);
     System.out.println(a<b||a>c);
     System.out.println(a<b||a<c);
     System.out.println("--------------------------");
     //&&和&
     System.out.println((a++>100)&(b++>100));
     //&&中只要有false结果就一定是false,后面就不执行了,具有短路效果
     //System.out.println((a++>100)&&(b++>100));
     System.out.println("a:"+a);
     System.out.println("b:"+b);
    

运行结果

false
false
false
true
--------------------------
false
true
true
true
--------------------------
false
true
true
false
--------------------------
false
true
------------------------------------------
false
false
false
true
--------------------------
false
true
true
true
--------------------------
false
a:11
b:21

十一.三元运算符

  1. 基本格式
    关系表达式?表达式1:表达式2;

  2. 执行流程
    首先计算关系表达式的值;
    值为true的话,表达式1为运算结果;
    值为false的话,表达式2为运算结果;

  3. 代码示列

     int a=10;
     int b=20;
     int max=a > b ? a : b;
     System.out.println(max);
    
     int w1=180;
     int w2=200;
     boolean win=w1==w2?true:false;
     System.out.println(win);
    
     int h1=150;
     int h2=210;
     int h3=165;
     int hhh=(h1>h2?h1:h2)>h3?(h1>h2?h1:h2):h3;
     int hh=h1>h2?(h1>h3?h1:h3):(h2>h3?h2:h3);
     System.out.println(hh);
     System.out.println(hhh);
    

运行结果

20
false
210
210

十二.数据输入Scanner

  1. 基本步骤
    a.创建对象

    Scanner sc=new Scanner(System.in);
    b.接收数据

    int x=sc.nextInt();
    c.输出数据

    System.out.println(“x:”+x);

  2. 代码示列

     //创建对象
     Scanner sc=new Scanner(System.in);
     //System.out.print("请输入数据x:");
     //		//接收数据
     //int x=sc.nextInt();
     //		//输出数据
     //System.out.println("x:"+x);
    
     System.out.print("请输入第一个和尚的身高:");
     int h1=sc.nextInt();
     System.out.print("请输入第二个和尚的身高:");
     int h2=sc.nextInt();
     System.out.print("请输入第三个和尚的身高:");
     int h3=sc.nextInt();
    
     int temp=h1>h2?(h1>h3?h1:h3):(h2>h3?h2:h3);
     System.out.println("最高的和尚改的身高是:"+temp);
    

运行结果

请输入第一个和尚的身高:169
请输入第二个和尚的身高:176
请输入第三个和尚的身高:182
最高的和尚改的身高是:182
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值