热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java语法类型转换、运算符、键盘录入

Date:2002231目录类型转换知识自动类型转换**(面试会提及)表达式的自动类型转换强制类型转换基本算数运算符符号做连接符自增自减

Date :20022/3/1

目录

类型转换知识

自动类型转换**(面试会提及)

表达式的自动类型转换

强制类型转换

基本算数运算符

+符号做连接符

自增自减运算符

赋值运算符

关系运算符

逻辑运算符

三元运算符

怎么调用Java提供的程序



Java语言基础要学会什么


类型转换知识


自动类型转换**(面试会提及)

类型范围小的变量,可以直接赋值给类型范围大的变量。

//目标:理解自动类型转换
byte a=20;
int b=a; //类型小的变量自动转换给类型大的变量,自动发生了类型转换

自动类型转换的其他形式:


表达式的自动类型转换


  • 表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算

注意事项:


  • 表达式中的最终结果类型由表达式中的最高类型决定

  • 表达式中byte 、short、char直接转换成int类型参与运算的


强制类型转换

强制类型转换底层原理:(大类型变成小类型,的强制转换可能造成数据的丢失)

运算符的使用


  • 基本算数运算符

如果两个整数做除法,需要小数,需要在他的前面即分子处*1.0

int a=10;
int b=3;
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / b); //3.33 -->3
System.out.println(a * 1.0 / b);//3.33333
System.out.println(3 / 2);  //整除都是整数 1
System.out.println(3 * 1.0 / 2); //需要小数 分子来*1.0 1.5
System.out.println(3 / 2 * 1.0);//1.0
System.out.println(a % b);//要求两边都是整数 结果为1

  • 计算:三位数 数字拆分

  • int date=589;
    int ge=date%10;
    int shi=date/10%10;
    int bai=date/100;
    System.out.println(ge);
    System.out.println(shi);
    System.out.println(bai);

  • 2022/3/7

  • +符号做连接符

    int a = 5;

    System.out.println("abc" + 'a');// abca
    System.out.println("abc" + a); // abc5
    System.out.println(5 + a); // 10
    System.out.println("abc" + 5 + 'a'); //abc5a
    System.out.println(15 + "abc" + 15);//15abc15

    System.out.println(a + 'a');// 102?? 重点


    System.out.println(a + "" + 'a');//"5a"

    System.out.println(a + 'a' + " itheima ");//102 itheima 重点

    System.out.println("itheima" + a + 'a');//itheima5a 重点
    System.out.println("itheima" + (a + 'a'));//itheima102 重点
    //从左到右 能算的先算


  • 自增自减运算符

    //目标:学会使用自增自减运算符:++ --int a=10;a++; //a=a+1;++a; //a=a+1;System.out.println(a);System.out.println("-------------------");//在表达式中或者不是单独操作的情况,++ --在变量前后存在区别//++ --在变量前面先+1 -1再使用int i=10;int j=++i;System.out.println(i); //11System.out.println(j); //11
    ​//++ -- 在变量的后面 先使用再+1 -1int m=10;int n=m++;System.out.println(m);//10System.out.println(n);//11
    ​System.out.println("--------拓展案例(面试或考试)--------------");int k=3;int p=5;int rs=k++ + ++k - --p + p-- - k-- + ++p + 2;// k=3 4 5 4// p=5 4 3 4// rs= 3 + 5 - 4 + 4 - 5 + 4 + 2System.out.println(k); //4System.out.println(p); //4System.out.println(rs); //9

  • 赋值运算符

//目标学会使用赋值运算符:= += -= *= /= %=
int a=10;
int b=200;
//a=a+b;
a+=b;  //a=(int)(a+b);
System.out.println(a);

byte i=10;
byte j=20;
i+=j; //i=(byte)(i+j);
System.out.println(i);

int m=10;
int n=5;
//m+=n;
m-=n; //等价于: m=(int)(m-n)
m*=n; //等价于: m=(int)(m*n)
m/=n; //等价于: m=(int)(m/n)
m%=n; //等价于: m=(int)(m%n)
System.out.println(m);

  • 关系运算符

//目标:学会使用关系运算符
int a=10;
int b=10;
boolean rs= a==b;
System.out.println(rs);    //true
System.out.println(a == b); //true
System.out.println(a != b); //false
System.out.println(a > b);  //false
System.out.println(a >= b); //true
System.out.println(a System.out.println(a <&#61; b);  //true

  • 逻辑运算符

System.out.println("------&& & || |四种符号的区别--------");
int a&#61;10;
int b&#61;20;
System.out.println(a > 100 && &#43;&#43;b > 10);

System.out.println(b);
//双与若一边是false &#xff0c;后面则不会执行了
//与的话 要两边同时执行
System.out.println(a > 100 & &#43;&#43;b > 10);

System.out.println(b);

int i&#61;10;
int j&#61;20;
System.out.println(i > 2 || &#43;&#43;j > 10);
System.out.println(j); //j&#61;&#61;20 因为双或后面那部分运算不会执行
System.out.println(i > 2 | &#43;&#43;j > 10);
System.out.println(j); //j&#61;&#61;21 因为单或两个都要看

  • 三元运算符

//目标&#xff1a;学会使用三元运算符&#xff0c;理解其流程
double score&#61;98;
String rs&#61;score>&#61;60 ?"考试通过":"挂科";
System.out.println(rs);//需求&#xff1a;需要从2个整数中找出较大值
int a&#61;10;
int b&#61;2000;
int max&#61;a > b ? a : b;
System.out.println(max);System.out.println("---------------------------");
int i&#61;10;
int j&#61;30;
int k&#61;50;
//1、找出两个整数的较大值
int temp&#61;i > j ? i : j;
int rsMax&#61;temp > k ? temp : k;
System.out.println(rsMax);System.out.println("-------拓展知识--------");
int rsMax1&#61;i > j ? (i > k ? i : k):(j > k ? j : k);
System.out.println(rsMax1);

  • 运算符优先级

  •  

  • 怎么调用Java提供的程序

  • 案例知识&#xff1a;键盘录入技术

  • package com.itheima.type.scanner;import java.util.Scanner;//1、导包操作 &#xff08;并不需要自己手写 以后通过工具导入更方便)
    public class ScannerDemo {public static void main(String[] args) {//目标&#xff1a;学会使用键盘录入技术//2、得到一个键盘扫描器对象Scanner sc&#61;new Scanner(System.in);//3、调用sc对象的功能等待接收用户输入的数据//这个代码会等待用户输入数据&#xff0c;直到用户输入完数据并按了回车键就会把数据拿到System.out.println("请您输入您的年龄");int age&#61;sc.nextInt();System.out.println("您的年龄是&#xff1a;"&#43; age);System.out.println("请您输入您的姓名");String name&#61;sc.next();System.out.println("您的姓名是&#xff1a;"&#43; name);System.out.println("欢迎" &#43; name);}
    }


推荐阅读
  • 本文详细探讨了Java中的ClassLoader类加载器的工作原理,包括其如何将class文件加载至JVM中,以及JVM启动时的动态加载策略。文章还介绍了JVM内置的三种类加载器及其工作方式,并解释了类加载器的继承关系和双亲委托机制。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • 深入解析Java多线程与并发库的应用:空中网实习生面试题详解
    本文详细探讨了Java多线程与并发库的高级应用,结合空中网在挑选实习生时的面试题目,深入分析了相关技术要点和实现细节。文章通过具体的代码示例展示了如何使用Semaphore和SynchronousQueue来管理线程同步和任务调度。 ... [详细]
  • 本文介绍如何在Java中实现一个罗马数字计算器,重点在于如何通过循环和字符验证确保用户输入合法。我们将探讨创建一个方法来检查字符串中的非法字符,并使用循环不断提示用户输入,直到输入符合要求。 ... [详细]
  • 本文介绍 Java 中如何使用 Year 类的 atMonth 方法将年份和月份组合成 YearMonth 对象,并提供代码示例。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 深入解析ArrayList与LinkedList的差异
    本文详细对比了Java中ArrayList和LinkedList两种常用集合类的特性、性能及适用场景,通过代码示例进行测试,并结合实际应用场景分析其优缺点。 ... [详细]
  • 本文深入探讨了 Java 中 LocalTime 类的 isSupported() 方法,包括其功能、语法和使用示例。通过具体的代码片段,帮助读者理解如何检查特定的时间字段或单位是否被 LocalTime 类支持。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
  • 软件工程课堂测试2
    要做一个简单的保存网页界面,首先用jsp写出保存界面,本次界面比较简单,首先是三个提示语,后面是三个输入框,然 ... [详细]
  • Python + Pytest 接口自动化测试中 Token 关联登录的实现方法
    本文将深入探讨 Python 和 Pytest 在接口自动化测试中如何实现 Token 关联登录,内容详尽、逻辑清晰,旨在帮助读者掌握这一关键技能。 ... [详细]
  • 本文详细解释了为什么在成功执行移动赋值操作后,对象的析构函数会被调用,并提供了代码示例和详细的分析。 ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
author-avatar
俣小沫-WU
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有