您的位置:首页 > 其它

Day02 数据类型转换、运算符、方法入门

2020-03-06 16:56 267 查看

来源:Day02 数据类型转换、运算符、方法入门

Day02 数据类型转换、运算符、方法入门

今日内容

  • 数据类型转换
  • 算数运算符
  • 比较运算符
  • 逻辑运算符
  • 三元运算符
  • 简单方法定义和调用

教学目标

  • 1.理解数据类型的强制转换
  • 2.理解数据类型的自动转换
  • 3.了解ASCII编码表
  • 4.理解int类型和char类型的运算原理
  • 5.理解运算符++ --的运算方式
  • 6.理解**+符号**在字符串中的作用
  • 7.理解比较运算符
  • 8.理解逻辑运算符
  • 9.掌握三元运算符的格式和计算结果
  • 10.了解方法的概念
  • 11.掌握无返回值无参数方法的定义格式
  • 12.了解方法定义的注意事项

学习自测

得分率92%:Day02 数据类型转换、运算符、方法入门

第一章 数据类型转换

参与计算的数据的数据类型必须一致,不一致会发生转换。

1.1 自动转换

Java自动将取值范围小的类型自动提升成取值范围大的类型。
规则:byte、short、char→int→long→float→double

1.2强制转换

我们手动将取值范围大的类型强制降成取值范围小的类型。
转换格式:数据类型 变量名=(数据类型)被转数据值
注意:1.浮点→整数,损失精度;2.int→short,数据可能丢失

1.3 ASCII编码表

American Standard Code for Information Interchange): 美国信息交换标准代码。让计算机识别人类文字,文字对应十进制数。
0~9 =48~57
A~Z=65~90
a~z=97~122

public static void main(String[] args){
char x='A';
int y=1;
//字符类型和int类型计算
System.out.println(x+y); //a对应65,结果为66
}

第二章 运算符

2.1 算数运算符

6类7型:+、-、*、/、%、++、–,算术运算符得到的都是整数。

自增自减运算符:++i(变量前++)、i++(变量后++)
单独运算→++i和i++一样,变量+1
混合运算:
a=1;b=++a→a=2,b=2
a=1;b=a++→a=2,b=1

public class AutoIandDOperator{
public static void main(string[] args){
int a=1;
/*int b=++a;
System.out.println(a);//2
System.out.println(b);//2
*/
int b=a++;
System.out.println(a);//2
System.out.println(b);//1
}
}

+遇到字符串表连接
“a”+“b"→"ab”
“5+5=”+5+5 →5+5=55

2.2赋值运算符

将符号右边的值赋给左边变量。6型:=、+=、-=、*=、/=、%=。
i+=5→i=i+5

2.3比较运算符

两个数据间进行比较,输出为布尔值true/false。6型:=、>、<、>=、<=、!=。

2.4逻辑运算符

连接两个布尔类型结果,输出为布尔值true/false。3型:&&短路与、||短路或、!取反

2.5三元运算符

格式:数据类型 变量名=(布尔类型表达式?结果1:结果2)
布尔表达式结果为true,三元运算整体为结果1赋给变量;否则为结果2。

public class TernaryOperator {
public static void main (string[] args){
int i=(1>2?2;3);
System.out.println(i);//3
}
}

第三章 方法入门

3.1概述

方法就是把代码单独定义在一个大括号内,形成单独的功能,需要这个功能的时候,就可以调用,解决代码冗余现象。

3.2方法的定义

格式:

修饰符 返回值类型 方法名(参数列表){
代码...
return;
}
  • 修饰符:目前固定写法:public static
  • 返回值类型:目前固定写法:void
  • 方法名:小驼峰,用来调用方法
  • 参数列表:目前无参数
  • return:方法结束。因为返回值是void,方法大括号内return可以不写。
    例如:
public static void methodName(){
System.out.println("这是一个方法");
}

【注意事项】
1.方法定义顺序无所谓
2.方法与方法之间不能嵌套包含
3.方法定义好后不会执行,如果想执行,一定要调用

3.3方法的调用

调用定义好的方法才可以运行

public class HelloWorld
{
public static void main(String[] args)
{
//调用myHobby方法
myHobby();
}
//定义方法被main调用才可运行
public static void myHobby()
{
System.out.println("eat");
}
}

3.4调用联系

//三元运算方法
public class HelloWorld{
public static void main(String[] args){
ternaryOperator();
}
public static void ternaryOperator(){
int i=(1==2?7:9);
System.out.println(i);
}
}

运行结果

3.5注意事项

方法定义:
1.必须定义在一类中、方法外
2.方法不能定义在另一个方法里

public class Demo{
public static void main(String[] args){
}
//方法正确写法:类中mian方法外
public static void apple(){
System.out.pritln("苹果");
}
}

public class Demo{
public static void main(String[] args){
//方法错误写法:mian方法或其他方法内
public static void apple(){
System.out.pritln("苹果");
}
}
}

第四章 JShell脚本工具

是JDK9以来新特性

  • When只适合片段代码的测试,不愿写类和main方法,也不愿编译和运行时
  • How

第五章 扩展知识点

5.1 +=符号的发展

下面的程序有问题吗?

public class Demo{
public static void main(String[] args){
short i=1;
i+=1;
System.out.println("i");
}
}

i+=1→i=(short)(i+1)
因为+=是一个运算符,只运算一次带强制转换;
若i+=1换成逻辑上的i=i+1,则运算两次,i+1为int赋值给short i则报错。

5.2常量和变量的运算

下面的程序有问题吗?

public class Demo{
public static void main(String[] args){
byte b1=1;
byte b2=2;
byte b3=1+2;
byte b4=b1+b2;
System.out.println(b3);
System.out.println(b4);
}
}

b3可以输出,b4不可。
因为
b3=1+2,1和2为常量,javac编译器自动计算出结果3未超过byte取值范围;
b4=b1+b2,b1和b2是变量,javac编译器不确定计算机结果是否超出范围,因此会将结果默认为int,此时赋值范围大于byte则编译失败。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
XNeo9 发布了9 篇原创文章 · 获赞 0 · 访问量 149 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐