Java自学第一阶段(四)-万能的变量(2)

回顾:1.声明变量:【变量类型】   【变量名称】

           2.变量类型:8种基本数据类型和引用类型(复合数据类型)

           3.变量名称:【字母_$】+【字母数字_$】,支持中文,不提倡,大小写敏感

练习题答案:

int 123go=100;  //变量名,不允许数字开头
int 成绩=60;    //变量名,中文可以,但不提倡
int break =200;//break是保留字,不能使用

int score = 80;
System.out.println(Score);//变量没有声明,因为变量名大小写敏感

public static void main(String[] args){
    int a,b=10;
    int c=a+b;//变量a没有赋值,不能直接进行加法运算
    System.out.println(c);
}

---------------------------------------------------------------回顾完毕,此处开始新内容---------------------------------------------------------------------

今日内容:

1.变量之间类型转换  

2.运算符

-------------------------------------------------------开始知识点讲解-----------------------------------------------------------------------------

【知识点1】变量之间类型转换

基本数据类型之间的转换原则: 各数据类型按容量大小(表数范围大小)

由小到大排列为:      byte, short, char  ——int ——long——float——double

转换时遵循的原则:      

1)容量小的类型自动转换为容量大的类型;    

 2)容量大的类型转换为容量小的类型时,要加强制转换符;      

3)byte,short,char之间不会互相转换,并且三者在计算时首先转换为int类型;      

4)实数常量默认为double类型, 整数常量默认为int类型;  

字符型 为什么也能和 整形、浮点型进行运算呢?  字符型在机器内部也是数字。进行计算时,先获得字符的ascii码,然后再进行计算。 

实例:

int i1=123; int i2=456;
double d1 = (i1+i2)*1.2; //容量小的类型自动转换为容量大的类型
float f1= (float)((i1+i2)*1.2);//容量大的类型转换为小容量的类型时,需要加上强制转换符
byte b1=1;
byte b2=2;
byte b3=(byte)(b1+b2);        //byte,short,char在计算时首先转换为int
//大容量(int)转换为小容量的类型(byte)时要加强制转换符
      

 

 

 

【知识点2】运算符

Java 语言中常用的运算符可分为如下几种:

算术运算符(+   -    *    /     %     ++     --)

赋值运算符(=  +=  -=  *=  /=  %=)

比较运算符(>  <  >=  <=  ==   !=)

逻辑运算符(&&   ||   !   ^)

条件运算符(? : )

【算术运算符】

Java自学第一阶段(四)-万能的变量(2)_第1张图片

其中,++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果不同,自增和自减运算符只能用于操作变量,不能直接用于操作数值或常量!例如 ++5 、 8-- 等写法都是错误滴! % 用来求余数,也称为”取模运算符“

【难点】  int i=1;  i++与++i的区别

int i=1;
System.out.println(i++); //输出1
System.out.println(++i); //此处i=2,++后等于3,因此输出3   

【赋值运算符】

Java自学第一阶段(四)-万能的变量(2)_第2张图片

赋值运算符是指为变量或常量指定数值的符号。 如可以使用 “=” 将右边的表达式结果赋给左边的操作数。

走读代码:

public class HelloWorld{
    public static void main(String[] args) {
        int one = 10 ;
        int two = 20 ;
        int three = 0 ;
    }
}         
以下语句执行后,three的值为多少?
three = one+two;
three += one;
three -= one;
three *= one;
three /= one;
three %= one;

结果:

public class HelloWorld{
    public static void main(String[] args) {
        int one = 10 ;
        int two = 20 ;
        int three = 0 ;
    }
}         
以下语句执行后,three的值为多少?
three = one+two;  //30
three += one;     //30+10=40
three -= one;     //40-10=30
three *= one;     //30*10=300
three /= one;     //300/10=30
three %= one;     //30%10=0

编程练习:

把HelloWorld中定义两个int型变量,并进行求和运算,在控制台打印出结果

问题分析:

1.int是什么? //int是整数类型                    

2.如何定义变量? //int a=10; int b=11;或者int a=10,b=11;                  

3.求和如何实现?//int c=a+b;                  

4.输出结果如何打印?System.out.println(“计算结果是:”+c);或者System.out.println(“计算结果是:”+(a+b));

思考: System.out.println(“计算结果是:”+a+b);  会输出什么结果?

 

【知识点】比较运算符

比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。

Java自学第一阶段(四)-万能的变量(2)_第3张图片

1、  > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型

2、  == 、 != 两边的操作数既可以是数值类型,也可以是引用类型

走读代码:

public class CalculateThree{
   public static void main(String[] args){
         int a=16;
         double b=9.5;
         String str1="hello";
         String str2="imooc";
         System.out.println("a等于b:"+(a==b));
         System.out.println("a大于b:"+(a>b));
         System.out.println("a小于等于b:"+(a<=b));
         System.out.println("str1等于str2:"+(str1==str2));
   }
}

【逻辑运算符】

Java自学第一阶段(四)-万能的变量(2)_第4张图片

我们可以从“投票选举”的角度理解逻辑运算符:

1、 与:要求所有人都投票同意,才能通过某议题

2、 或:只要求一个人投票同意就可以通过某议题

3、 非:某人原本投票同意,通过非运算符,可以使其投票无效

4、 异或:有且只能有一个人投票同意,才可以通过某议题

走读下面代码:

public class CalculateFour{
   public static void main(String[] args){
         boolean a =true;
         boolean b =false;
         boolean c =false;
         boolean d =true;        
         System.out.println( a&&b);
         System.out.println(a||b);
         System.out.println(!c);
         System.out.println(c^d);
   }
} 

【条件运算符】

条件运算符( ? : )也称为 “三元运算符”。

语法形式:布尔表达式 ? 表达式1 :表达式2

运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值

走读代码:

public class CalculateFive{
   public static void main(String[] args){
         int score =68;
         String mark =(score>60)?"合格":"不合格";        
         System.out.println("结果是:"+mark);
   }
}

【难点】运算符的优先级

Java自学第一阶段(四)-万能的变量(2)_第5张图片

练习题:

1、走读下面代码,写出运行结果   

int a = 30;             
int b = (++a)+(a--);     
int c = (b++)+(--a)+(b++);     
int value = (--c)+(++a)*(++b);     
求出a,b,c,value的值      

2、整数26374,分别输出它的万位/千位/百位/十位/个位 数是多少

3.三个数字,num1,num2,把num2的值赋值给num1,num1的值赋值给num2;

你可能感兴趣的:(Java学习第一阶段-基础知识,java)