day02-day03_Java基础笔记

1.类型转换

1.1.自动类型转换

​ 把一个表示数据范围小的数值或变量赋值给一个表示数据范围大的变量,这种转换方式是自动的,直接书写即可。

例:

double num = 10;//将int类型的10直接复制给double类型
System.out.println(num);//打印输出结果为10.0

1.2.强制类型转换

目标数据类型 变量名 = (目标数据类型) 值/变量
  • 缺点:容易造成精度缺失的问题

常用的七个数据类型表示数据范围从小到大为:

byte
short
int
char
long
float
double
  • 数据范围从小到大的转换:自动类型转换
  • 数据范围从大到小的转换:强制类型转换

注:

  1. char转换为int时,按照ASCII码表中对应的int值进行转换
  2. 整数默认为int类型,byteshortchar类型参与运算均会自动转换为int类型
  3. boolean类型不能与其他基本数据类型进行转换

2.运算符

2.1.算术运算符

符号作用说明
+小学内容,不多解释
-小学内容,不多解释
*小学内容,不多解释
/小学内容,(得出的结果只有商)
%取余/取模获取的是两个数据做除法的余数
  1. /%:两个数据做除法时,/取结果的商、%取结果的余数
  2. 整数操作只能得到整数,要想得到小数,必须有浮点数参与运算

2.1.1.char类型参与算术运算

使用的是计算机底层对应的十进制数值(将下表加以记忆)

字符对应值
a97a-z连续,则b对应98…
A65A-Z连续,则B对应66…
0480-9连续,则1对应49…

2.1.2.字符串的+操作

  • +操作中出现字符串时,与字符串临近的+号为字符串连接符

  • 当连续进行+操作时,从左到右逐个执行

  • 例:

System.out.println("hello"+'a'+1);//打印输出结果为:helloa1
System.out.println('a'+1+"hello");//打印输出结果为98hello

2.2.赋值运算符

符号作用解释
=赋值如:a=10 将10赋值给变量a
+=加后赋值a+=b 将a+b的值赋值给a
-=减后赋值a-=b 将a-b的值赋值给a
*=乘后赋值a*=b 将a×b的值赋值给a
/=除后赋值a/=b 将a➗b的商赋值给a
%=取余后赋值a%=b 将a➗b的余数赋值给a
  • 注:扩展的赋值运算符隐含了强制类型转换

2.3.自增自减运算符

符号作用解释
++自增变量的值+1
自减变量的值-1
  • 参与操作时,若自增自减运算符放于变量后,先拿变量参与操作,后拿变量做++或–
  • 参与操作时,若自增自减运算符放于变量前,先拿变量做++或–,后拿变量参与操作

2.4.关系运算符

包括:小于<、小于等于<=、大于>、大于等于>=、等于==、不等于!=

  • 最终结果为boolean类型(要么是true,要么是false

  • 注意不要将判断是否相等的==误写成赋值=

2.5.逻辑运算符

符号名称解释
&逻辑与(和)a&b a与b都是true,结果为true,否则都是false
|逻辑或a|b a与b都是false,结果为false,否则都是true
^逻辑异或a^b a与b结果不同为true,相同为false
!逻辑非!a 结果与a的结果正好相反,a为false则!a就是true

2.5.1.短路逻辑运算符

符号作用解释
&&短路与左边为真,右边执行;左边为假,右边不执行
||短路或左边为假,右边执行;左边为真,右边不执行

2.6.三元(目)运算符

语法格式:

关系表达式 ? 表达式1 : 表达式2;

格式解析:

关系表达式为true时调用表达式1,反之调用表达式2

3.键盘录入

3.1.使用步骤

  1. 导包:Scanner类在java.until包下
import java.until.Scanner;
  1. 创建Scanner对象
Scanner sc = new Scanner(System.in);
  1. 接收数据
int i = sc.nextInt();

4.流程控制语句

4.1.顺序结构

  • 程序中最简单最基本的流程控制,没有特别的语法结构,按照代码的先后顺序依次执行。

4.2.分支结构

4.2.1.if语句

  • 格式一:
if(关系表达式){
    语句体;
}
Created with Raphaël 2.3.0 程序执行 关系表达式 语句体 其他语句 yes no
  • 格式二:
if(关系表达式){
    语句体1;
}else{
    语句体2;
}
true
false
程序执行
关系表达式
语句体1
语句体2
其他语句
  • 格式三:
if(关系表达式1){
    语句体1;
}else if(关系表达式2){
    语句体2}
...
else{
    语句体n+1;
}
true
false
true
false
true
false
程序执行
关系表达式1
语句体1
其他语句
关系表达式2
语句体2
...
语句体n
语句体n+1

4.2.2.switch语句

switch(表达式){
    case1:
        语句体1;
        break;
    case2:
        语句体2;
        break;
        ...
    default:
        语句体n+1;
        break;
        //default在最后的时候可以不加break
}
  • 流程:

    1. 计算表达式的值
    2. case依次比较
    3. 执行相应语句
    4. break结束
    5. 与所有case都不匹配,执行default部分,然后结束
  • 注意事项:

  1. case顺序没有关系
  2. 如果匹配上,到break结束
  3. default跟位置无关,若不在最后,要加上break

4.3.循环结构

4.3.1.for循环

  • 结构:
for(初始化语句;条件判断语句;条件控制语句){
    循环体语句;
}

注:条件判断语句结果为false,循环结束;结果为true,循环继续

Created with Raphaël 2.3.0 初始化语句 条件判断语句 循环体语句 条件控制语句 其他语句 yes no

4.3.2.while循环

  • 结构:
初始化语句;
while(条件判断语句){
    循环体语句;
    条件控制语句;
}
Created with Raphaël 2.3.0 初始化语句 条件判断语句 循环体语句 条件控制语句 其他语句 yes no

4.3.3.do…while循环

  • 格式:
初始化语句;
do{
    循环体语句;
    条件控制语句;
}while(条件判断语句);
Created with Raphaël 2.3.0 初始化语句 循环体语句 条件控制语句 条件判断语句 其他语句 yes no
  • 格式解释:

初始化语句:表示循环开始时的起始状态

条件判断语句:表示循环反复执行的条件,判断循环还执不执行

循环体语句:表示循环反复执行的内容

条件控制语句:表示循环执行中每次变化的内容

4.3.4.三种循环的区别

  1. forwhiledo...while
  • for循环和while循环先判断后执行
  • do...while循环先执行一次,后判断是否继续
  1. for循环和while循环的区别
  • for循环中,条件控制语句所控自增变量,归属for循环的语法结构,在for循环结束后,就无法再次访问了
  • while循环中,条件控制语句所控自增变量,不归属while循环的语法结构,在while循环结束后,还可以继续使用该变量
  • for循环一般用在范围确定的场景,while循环用于不确定范围的场景
  1. 死循环
  • for( ; ; ){}
  • while(true){}
  • do{}while(true)

5.跳转控制语句

  • break——结束循环
  • continue——跳过本次循环,继续下次循环
  • return——结束方法,不是结束循环

breakcontinue只能在循环中使用,单独使用没有意义

6.循环嵌套

概述:在循环中继续定义循环

例:

//输出5行4列的*号
for(int i = 1 ;i <= 4 ; i++){     //外循环控制的行
    for(int j = 1 ;j <= 5 ; j++){ //内循环控制的列
        System.out.print("*");//不换行输出*
    }
    System.out.println();//通过输出语句换行
}
  • 结论:外循环执行一次,内循环执行一圈

7.Math

7.1.概述

  • math是一个类,也是Java提供好的API,内部提供了产生随机数的功能

7.2.创建对象

double random = Math.random();
//返回带正号的double值,该值大于等于0.0且小于1.0
  • 例:获取一个1-100之间的随机数
for(int x = 0;x < 100;x++){
    int num = (int)(Math.random()*100)+1;
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

找不到工作当个咸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值