博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java自学第一阶段(四)-万能的变量(2)
阅读量:4179 次
发布时间:2019-05-26

本文共 4031 字,大约阅读时间需要 13 分钟。

回顾: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 语言中常用的运算符可分为如下几种:

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

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

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

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

条件运算符(? : )

【算术运算符】

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

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

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

【赋值运算符】

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

走读代码:

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;  //30three += one;     //30+10=40three -= one;     //40-10=30three *= one;     //30*10=300three /= one;     //300/10=30three %= 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 )。

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));   }}

【逻辑运算符】

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

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);   }}

【难点】运算符的优先级

练习题:

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;

转载地址:http://jdeai.baihongyu.com/

你可能感兴趣的文章
ARM协处理器
查看>>
《miniOS分析》前言
查看>>
《Linux内核编程》第十四章:Linux驱动基础
查看>>
Linux平台下ARM-Linux交叉编译工具链
查看>>
Window平台下ADS自带ARMCC编译工具链
查看>>
micro2440/tiny6410使用JLINK直接烧录nand flash
查看>>
C编译器、连接器与可执行机器码文件
查看>>
android linker 浅析
查看>>
802.11 traffic id
查看>>
Android系统wifi分析-手动连接过程
查看>>
设置IP别名Shell脚本
查看>>
Source Insight 宏-单行注释
查看>>
levelDB源码分析-Arena
查看>>
levelDB源码分析-SSTable
查看>>
平滑升级Nginx的Shell脚本
查看>>
SSH远程会话管理工具
查看>>
canvas标签设长宽是在css中还是在标签中
查看>>
如何创建一个vue项目
查看>>
webpack和webpack-simple中如何引入css文件
查看>>
vue1.0和vue2.0的区别之路由
查看>>