回顾: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++); //输出1
System.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; //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 )。
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;