【Java---模块二】

模块目标:
1 掌握变量的定义和使用
2 能够使用IDEA中的DeBug调试工具查看程序的执行流程
3 能够使用Scanner从键盘录入数据
4 清楚算数运算符/和取余%的特点,以及自增自减运算符
5 java中字符串拼接操作
6清楚隐式转换和强制转换两种类型转换
7了解二进制中原码,反码,补码

一 变量:

  • 变量是什么:
    在这里插入图片描述

变量定义格式:

数据类型 变量名 = 数据值;

java中的数据类型:

  1. 基本数据类型:
    在这里插入图片描述

不同的数据类型存储的数据范围不同,在内存中占用的空间也不同.
所有整数都默认的int类型,所有小数都默认的double类型

  1. 引用数据类型:#

变量的使用 :根据变量的名字进行使用

变量的注意事项:

1 变量不能重名

2 一条语句可以定义多个变量,中间逗号分隔。

3 变量使用前要赋值

4 变量的作用域

二 Debug工具的使用:

程序调试工具,也称断点调试

可以追踪程序执行过程,用来来调试程序

使用步骤:

  1. 先设置断点

  2. 鼠标右键debug后向下执行

设置断点debug后,左测frame可以看到方法----->

在这里插入图片描述

右侧可以看到设置过的变量
在这里插入图片描述

console是控制台,负责输出

(1)重新运行debug:左上角

(2)强制结束debug:左侧中位置

(3)批量取消断点:左侧

设置多个断点:可以执行一段代码(区间)

三 Scanner键盘录入:

作用:可以让程序使用更加灵活

键盘录入的三个步骤:

(1)找到符咒代码(从核心类库中)—导包(写在类之上)

import java.util.Scanner;

(2)召唤精灵------创建对象(idea中直接进行召唤精灵,符咒会自动补齐)

代码:
Scanner sc=new Scanner(System.in);
位置:main方法里面
含义:从符咒中召唤精灵,给精灵起个名字叫sc

(3)指挥精灵------调用对象中的方法

代码:
int age=sc.nextInt();从键盘录入整数,并使用int类型变量接受
double height=sc.nextDouble();从键盘录入小数
boolean flag=sc.nextBoolean();从键盘录入布尔类型
String name=sc.next();从键盘录入字符串并使用String类型进行接收

四 算数运算符、数值拆分

包含+,-,*,/,四种

/:整数相除只能得到整数,要想得到小数结果,需要有小数参与运算

%:取模操作符,作用是取余,很多算法中都涉及取模操作符

取某个数某位上的数公式(数值拆分)总结:
在这里插入图片描述

五 自增自减运算符:

注意:只能对变量进行操作

++:让变量自身的值+1
--:让变量自身的值-1
(1)单独使用:一句代码中,只做++,或者--
    ++,-- 在变量前后没有区别
(2)参与运算使用
    一句代码中除了++/--,还有别的操作
    ++在前:先自增,再操作
    ++在后:先操作,后自增

六 字符串拼接操作:

java中:在这里插入图片描述

当+遇到字符串时候,+表示字符串连接符

(类比贪吃蛇游戏对java中的”➕“进行理解)

七 类型转换:

隐式转换:

在这里插入图片描述

数据范围从小到大的顺序:
在这里插入图片描述

注意:float类型数据字节比long小,但是存储的数据取值范围比long大

类型转换---隐式转换
    介绍:将取值范围小的数据或者变量,赋给取值范围大的变量,可以直接赋
       ---简记:小的给大的,可以直接给

是自动的

赋值时是copy一份给另一个变量,原变量的值是没有变化的。

基本的隐式转换:把一个取值范围小的数值或者变量,赋值给另一个取值范围大的变量

运算过程中的隐式转换:

(1)运算中数据类型如果不统一,不能直接进行运算,取值范围小的数据和取值范围大的数据进行运算,小的会先提升为大的,再进行运算
(2)byte short char三种数据类型在运算时,都会把自身提升为int后,再运算

强制转换:

在这里插入图片描述

类型转换---强制转换
   介绍:将取值范围大的数据或者变量,赋值给取值范围小的变量,
   不允许直接赋值,需要强制转换
   注意:强制转换【有可能】会出现精度丢失

类比从一个大桶中向另一个小桶中倒油,可能倒不下。
(转换目标类型)转换目标变量

八 二进制__原码,反码,补码(了解):

  • 计算机中的进制分类:
计算机中的进制分类:
十进制
二进制:
八进制:0开头
        ---今后编写数值,尽量不要以0开头
十六进制:0x开头
        ---今后看到一组数据是0-9,字母a-f排列组合的,说明是十六进制数据

代码中默认输入的为为10进制,如果要按照其他进制进行输入:(了解)

(1)二进制:前面加0b

(2)八进制:前面加0(0作为开头)

(3)十六进制:前面夹0x

但是终端输出显示的仍未10进制数字

二进制转十进制:

公式:
在这里插入图片描述
或者使用 8421转换法

二进制数据的三种状态:

原码:

第一位为高位(也称符号位,0代表正数,1表示负数),其他位才表示数值大小

反码:(对原码取反)

  1. 正数的反码与其原码相同

  2. 负数的反码是对其原码除符号位的其他位按位取反。

补码:

  1. 正数的补码与其原码相同

  2. 负数的补码是其反码末位加1

二进制原码状态运算有负数参与时会出现问题

计算机在运算时,是以二进制补码的形式进行运算的

三码的总结:

  1. 正数的原反补都一样

  2. 负数原码------(数值位按位取反)----->负数反码---------(反码末尾加1)----->负数补码

  3. 已知补码求原码:逆过程同样,先取反,再末尾加一

其他get:

(1)java的常量优化机制:再在编译过程(javac)中会将字面量进行运算

(2)对字节码文件反向操作:将这字节码文件转化为原码,将class字节码文件拖到idea中

(3)快捷键:ctrl+x可以当作删除一行

(3)阅读代码的一个小技巧:代码中等号从右往左看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值