31.【Java (基础入门操作-----数据类型)】(二)

简介: 31.【Java (基础入门操作-----数据类型)】

6.短路或

||       一个为真  ,全部为真        (区别在于只要第一个是个确定的,
                          第二个我可以不看)
代码展示:
import java.util.Scanner;
public class one
{
  public static void main(String []avgs)
  {
    // &    逻辑且  两边同时为真才为真
    System.out.println(true&true);        
    System.out.println(true&false);
    System.out.println(false&false);
    // |      逻辑或,两边同时为假 才为假
    System.out.println(true|true);        
    System.out.println(true|false);      //为真
    System.out.println(false|false);
    //  !     逻辑非   假的为真,真的为假.
    System.out.println(!true);        
    System.out.println(!false);
    //^  逻辑异或   相同为false 不相同为true     (民政局)
    System.out.println(true^true);        
    System.out.println(true^false);      //为真
    System.out.println(false^false);
    //===================================以上不管真假都运行
    //短路逻辑符 
    //  &&  短路且         第一个不满足条件直接短路,也就是说第二个直接跳过
    System.out.println(true&&true);        
    System.out.println(true&&false);
    System.out.println(false&&false);
    System.out.println(false&&true);
    //||   短路或
    System.out.println(true||true);        
    System.out.println(true||false);      //为真
    System.out.println(false||false);
    Scanner sc=new Scanner(System.in);
    int i,j;
    System.out.println("请您输入两个整数:");
    i=sc.nextInt();
    j=sc.nextInt();
    if(i==6||j==6||i+j==6)
    {
      System.out.println(true);
    }
    else
    {
      System.out.println(false);
    }   
  }
}
效果展示:

(六)、原码、反码、补码(八位)

0 000000000(二进制)

1.原码:

定义 : 十进制的二进制表现形式,最左边是符号位,0为正,1为负

十进制:56 ---------------- 二进制: 00111000 (原码)【其中左边第一个0,是符号位。其余是数据】

十进制:-56-------------------二进制: 10111000 (原码)

55------------------------原码 : 00110111

-55-------------------------原码: 10110111;

1.1原码弊端:

主要作用是只能取正数,不能取负数.。如果进行负数运算,结果就出错。和我们预期的到结果是有区别的.

2.反码:

定义:正数的反码是其本身,负数的反码是符号位保持不变,其余位取反 。按位取反

-56----------反码为: 11000111 (表示)

都先取反码再运算

-56+1= 11001000 – ----- (-55的反码为) :11001000

2.2作用:

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

2.3计算规则

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

2.4反码弊端:

当反码到0的时候,0有两种形式.+0,-0;所以会误差1

3.补码:

定义: 目的是为了解决反码的误差决定的。正数的补码是其本身,负数的补码是再其反码的基础上+1;

(七)、隐形转换和强制转换原理

1个字节 占据 8个比特位 00000000

4个字节 占据32个比特位

1.隐式转换: (补齐比特位)

publci class one
{
  public static void main()
  {
    bety a=10;   //比特位  0000 1010
    int b;
    b=a;  // 0000 0000 0000 0000 0000 0000 0000 1010
}
}

2.强制转换 : (删除比特位)

publci class one
{
  public static void main()
  {
    int a=10; // 0000 0000 0000 0000 0000 0000 0000 1010
    bety b;
    b=(byte)a;  // ~~0000 0000 0000 0000 0000 0000~~  0000 1010
}
}

3. Java基本数据类型的取值范围:

4.Java的各个基本数据类型的比特位

(八)、其他逻辑运算符

1.逻辑且计算机运算视角

原理:两个为真就为1,否则为0;

publci class one
{
  public static void main()
  {
    int a=10; // 0000 0000 0000 0000 0000 0000 0000 1010
    int b=10; // 0000 0000 0000 0000 0000 0000 0000 1010
    //————————————————————————————————————————————————————————
    System.out.println(a&b);              1 0 1 0
    //结果为  10
}
}

2.逻辑或计算视角

原理: 一个为真就为1.否则为0

publci class one
{
  public static void main()
  {
    int a=10; // 0000 0000 0000 0000 0000 0000 0000 1010
    int b=10; // 0000 0000 0000 0000 0000 0000 0000 1010
    //————————————————————————————————————————————————————————
    System.out.println(a|b);              1 0 1 0
    //结果为  10
}
}

4.左移运算符(左移一位就是原数值*2)<<

原理: 高位(左)左移,低位补零

publci class one
{
  public static void main()
  {
    int a=10; // 0000 0000 0000 0000 0000 0000 0000 1010
    System.out.println(a<<2);  //左移2位。~~00~~  00 0000 0000 0000 0000 0000 0000 1010 00
    也就是40 
}
}

3.右移运算符 (右移一位原数值除2)>>

原理:向右移动,高位补0或1 .符号位要与原数据(符号)保持一致,数据位补0

publci class one
{
  public static void main()
  {
    int a=10; // 0000 0000 0000 0000 0000 0000 0000 1010
    System.out.println(a>>2);  //右移2位。 00 0000 0000 0000 0000 0000 0000 0000 10 ~~10~~ 
    也就是2
}
}

5.无符号右移(>>>)

原理:向右移动,高位只补0.

基础篇第一节 已完毕!!!!!1

相关文章
|
8月前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
693 0
|
10月前
|
安全 Java 数据库连接
2025 年最新 Java 学习路线图含实操指南助你高效入门 Java 编程掌握核心技能
2025年最新Java学习路线图,涵盖基础环境搭建、核心特性(如密封类、虚拟线程)、模块化开发、响应式编程、主流框架(Spring Boot 3、Spring Security 6)、数据库操作(JPA + Hibernate 6)及微服务实战,助你掌握企业级开发技能。
1192 3
|
9月前
|
Java
java入门代码示例
本文介绍Java入门基础,包含Hello World、变量类型、条件判断、循环及方法定义等核心语法示例,帮助初学者快速掌握Java编程基本结构与逻辑。
679 0
|
8月前
|
存储 Java Go
【Java】(3)8种基本数据类型的分析、数据类型转换规则、转义字符的列举
牢记类型转换规则在脑海中将编译和运行两个阶段分开,这是两个不同的阶段,不要弄混!
376 2
|
8月前
|
Java Go 开发工具
【Java】(2)Java数据类型阐述、基本数据类型的占用和范围、二进制的讲述
数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。例如:十进制例如:二进制计算机在任何情况下都只能识别二进制。
415 1
|
9月前
|
安全 Java
使用Java多态性进行数据类型转换
以上示范了如何通过多态性来执行安全有效地对于Java对象间相互之间进行正确方式与场合下正确格式与条件限定内对于各个层级关系内部成员及其功能调取与应有操作处理过程,并通过 `instanceof`关键字确保了程序运行期间遵循逻辑合理并符合预设规则条件限定内正常工作流程而无需担忧潜藏风险问题出现可能带来影响结果质量问题情况存在可能。
268 12
|
9月前
|
前端开发 Java 数据库连接
帮助新手快速上手的 JAVA 学习路线最详细版涵盖从入门到进阶的 JAVA 学习路线
本Java学习路线涵盖从基础语法、面向对象、异常处理到高级框架、微服务、JVM调优等内容,适合新手入门到进阶,助力掌握企业级开发技能,快速成为合格Java开发者。
1327 3
|
10月前
|
NoSQL Java 关系型数据库
Java 从入门到进阶完整学习路线图规划与实战开发最佳实践指南
本文为Java开发者提供从入门到进阶的完整学习路线图,涵盖基础语法、面向对象、数据结构与算法、并发编程、JVM调优、主流框架(如Spring Boot)、数据库操作(MySQL、Redis)、微服务架构及云原生开发等内容,并结合实战案例与最佳实践,助力高效掌握Java核心技术。
1066 2
|
10月前
|
Java 测试技术 API
Java IO流(二):文件操作与NIO入门
本文详解Java NIO与传统IO的区别与优势,涵盖Path、Files类、Channel、Buffer、Selector等核心概念,深入讲解文件操作、目录遍历、NIO实战及性能优化技巧,适合处理大文件与高并发场景,助力高效IO编程与面试准备。
|
10月前
|
Java 编译器 API
Java Lambda表达式与函数式编程入门
Lambda表达式是Java 8引入的重要特性,简化了函数式编程的实现方式。它通过简洁的语法替代传统的匿名内部类,使代码更清晰、易读。本文深入讲解Lambda表达式的基本语法、函数式接口、方法引用等核心概念,并结合集合操作、线程处理、事件回调等实战案例,帮助开发者掌握现代Java编程技巧。同时,还解析了面试中高频出现的相关问题,助你深入理解其原理与应用场景。