Java03--IDEA与运算符,原反补码

一、IDEA

IDEA全称IntelliJ IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具。

集成环境

把代码编写,编译,执行,调试等多种功能综合到一起的开发工具。

下载

IntelliJ IDEA – the Leading Java and Kotlin IDEIntelliJ IDEA is undoubtedly the top-choice IDE for software developers. It makes Java and Kotlin development a more productive and enjoyable experience.icon-default.png?t=N7T8https://www.jetbrains.com/idea/

激活码

夸克网盘分享夸克网盘是夸克推出的一款云服务产品,功能包括云存储、高清看剧、文件在线解压、PDF一键转换等。通过夸克网盘可随时随地管理和使用照片、文档、手机资料,目前支持Android、iOS、PC、iPad。icon-default.png?t=N7T8https://pan.quark.cn/s/d0c0eeb804b4

 项目结构

project(项目)

        module(模块)

                package(包)

                        class(类)

如何新建项目,模块,包和类?

1.创建一个Empty project项目

2.创建模块

SDK要编辑一下,会有提示的

新建模块

3.创建包

4.创建类

最后

一些建议和按键

最好把AI给关了

取消选择设置中 Editor > General > Code Completion 的 Enable Full Line Suggestions 即可

注释和取消注释代码

使用快捷键对代码行和代码块进行注释和取消注释:Ctrl斜杠:用于单行注释(/l...)

Ctrl Shift斜杠:用于块注释(/*...*/)

查找并替换

按Ctrl F可显示搜索栏。按Ctrl R可添加另一个字段,从中可以输入替换字符串。在在文件中查找对话框中,可以按Ctrl Shift R切换到"替换为”。同样,按Ctrl Shift F可隐藏替换为字段,并切换到常规搜索。

psvm        

public static void main(String[] args)

sout

System.out.println();

二、运算符

1.运算符和表达式

运算符

对字面量或者变量进行操作的符号

表达式

用运算符把字面量或者变量连接起来,符合java语法的式子就可以称为表达式。

不同运算符连接的表达式体现的是不同类型的表达式。

举例说明

int a = 10;        int b = 20;        int c = a + b;

+∶是运算符,并且是算术运算符        a+ b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式

算术运算符

+  -  *  /   %

package demo1;


public class test{
    public static void main(String[] args) {
        //+
        System.out.println(3 + 2);
        //-
        System.out.println(5 - 1);
        //*
        System.out.println(7 * 9);
        //如果在计算的时候有小数参加
        //结论:结果有可能不精确的
        System.out.println(1.1 + 1.1);  //2.2
        System.out.println(1.1 + 1.01); //2.1100000000000003
        System.out.println(1.1 - 1.01); //0.09000000000000008
        System.out.println(1.1 * 1.01); //1.1110000000000002
        //后面分析为什么小数的结果精确问题
    }
}
package demo1;


public class test{
    public static void main(String[] args) {
        // /
        //1.整数参与计算,结果只能得到整数
        //2.小数参与计算,结果有可能是不精确的,如果我们需要精确计算,那么需要用到后面的知识点。|
        System.out.println(10 / 2);
        System.out.println(10 / 3);     // 3
        System.out.println(10.0 / 3);   // 3.3333333333333335
        //后面分析
        // %
        System.out.println(10 % 2);
        System.out.println(10 % 3);     // 1
    }
}

练习:数值拆分

需求:键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台

package demo1;

import java.util.Scanner;

public class test{
    public static void main(String[] args) {
        // 键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个三位数: ");
        int number = sc.nextInt();
        // 获取个位,十位,百位
        int ge = number % 10;
        int shi = (number / 10) % 10;
        int bai = (number / 100) % 10;
        System.out.println("个位是:"+ge);
        System.out.println("十位是:"+shi);
        System.out.println("百位是:"+bai);
    }
}

"+”操作的三种情况

数字相加        字符串相加        字符相加

如何转换?

1.隐式转换(自动类型提升)

        把一个取值范围小的数值,转成取值范围大的数据

        int a = 10;        double b = a;

        取值范围:byte<short<int<long<float<double

隐式转换的两种提升规则:

        取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算

        byte short char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算

2.强制转换

        如果把一个取值范围大的数值,赋值给取值范围小的变量。是不允许直接赋值的。如果一定要这么做就需要加入强制转换

        格式:目标数据类型变量名=(目标数据类型)被强转的数据;

        但是要注意取值范围

字符串的“+”操作

"+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算符了。会将前后的数据进行拼接,并产生一个新的字符串。

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

字符相加

当(字符+字符)(字符+数字)时,会把字符通过ASCII码表查询到对应的数字再进行计算。

自增自减运算符、赋值运算符、关系运算符、逻辑运算符

与c语言同理

细节:+=,-=,*=,l=,%=底层都隐藏了一个强制类型转换

这里有所不同,单个且有异或操作

短路逻辑运算符

注意事项:

& l,无论左边true false,右边都要执行。

&& ||,如果左边能确定整个表达式的结果,右边不执行。

&&:左边为false,右边不管是真是假,整个表达式的结果一定是false。

||:左边为true,右边不管是真是假,整个表达式的结果一定是true。

三元运算符

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

三、原码、反码、补码

原码

原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负

56  ——>   0(符号位)0111000(数据)       bit 比特位    8个bit1字节   

显然利用原码对正数进行计算是不会有问题的。但是如果是负数计算,结果就出错,实际运算的结果,跟我们预期的结果是相反的。 但是如果是负数计算,结果就出错,实际运算的结果,跟我们预期的结果是相反的.

所以出现了反码

反码

反码:为了解决原码不能计算负数的问题而出现的。

计算规则:正数的反码不变,负数的反码在原码的基础上,符号位不变数值取反,0变1,1变0。

-56 ——>  10111000   (原码)

-56 ——>  11000111 (反码)

反码出现的目的

        为了解决原码不能计算负数的问题而出现的。

反码的计算规则

        正数的反码不变,负数的反码在原码的基础上,符号位不变。数值取反,0变1,1变0。

反码的弊端

        负数运算的时候,如果结果不跨0,是没有任何问题的,但是如果结果跨0,跟实际结果会有1的偏差。

补码

对于负数来说在反码基础上加1,用于解决正负数相加的问题

所以:

        1字节值为-128~127

补码出现的目的

        为了解决负数计算时跨0的问题而出现的。

补码的计算规则

        正数的补码不变,负数的补码在反码的基础上+1。另外补码还能多记录一个特殊的值-128,该数据在1个字节下,没有原码和反码。

补码的注意点

      计算机中的存储和计算都是以补码的形式进行的。  

注意:

隐式转换就是往前面补0

强制转换就是去掉0

其他运算符

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值