Java语言程序设计——篇二(2)

Java语言基础

  • 运算符与表达式
      • 运算符
      • 1、算术运算符
      • 2、关系运算符
      • 3、逻辑运算符( &&、||、 !、&、| 、^)
      • 4、位运算符( >>、<<、>>>、&、|、^、~)
      • 5、赋值运算符
      • 6、条件运算符
      • 7、字符串运算符
      • 8、 运算符的优先级和结合性
  • 由键盘输入数据
      • 由键盘输入数据---输入字符串
      • 由键盘输入数据---输入数值
      • 由键盘输入数据——多个数据
  • 简化输入方式
      • 由键盘输入数据---多个数据
  • 例题展示
      • 代码展示:
      • 运行结果:

运算符与表达式

运算符

根据操作数个数的不同,往往分为

  • 单目运算符
  • 双目运算符
  • 三目运算符。
    按照运算符功能来分,基本的运算符有下面几类。
    算术运算符 +、-、*、/、%、++、–
    关系运算符 >、<、>=、<=、==、!=
    逻辑运算符 &&、||、 !、&、| 、^
    位运算符 >>、<<、>>>、&、|、^、~
    赋值运算符 =、扩展赋值运算符,如+=、/=等。
    条件运算符 ? :
    其他运算符 :包括分量运算符.、下标运算符[ ]、实例运算符instanceof、内存分配运算符new、强制类型转换运算符(类型)、方法调用运算符( )等。

1、算术运算符

+ - * / % +(取正) -(取负) ++ –
两个整数相“/”,结果为整数
对取模运算符“%”来说,其操作数可以为者浮点数。如37.2%10=7.2。(默认双精度)
Java语言对“+”进行了扩展,使它能够进行字符串的连接,如"abc"+“de”,得到字符串"abcde"。

2、关系运算符

关系运算符是双目运算符,用来比较两个数的关系,不能在浮点数之间作“==”的比较。 其运算结果是布尔类型的值true或false。当运算符所对应的关系成立时结果为true,否则结果为假。所有的关系运算符参见表4。
在这里插入图片描述

3、逻辑运算符( &&、||、 !、&、| 、^)

逻辑运算符用来计算布尔类型的值,有单目运算符和双目运算符,其运算结果是布尔类型的值true或false。
注:&&、 || 、!具有短路特性

4、位运算符( >>、<<、>>>、&、|、^、~)

位运算符分为按位运算符(Bitwise Operators)和移位运算符(Shift Operators)。位运算符用来计算整数类数值中的二进制位,计算结果也是整数
不同长度的整数进行按位运算时,会把二进制位数较短的整数的高位(左侧)补0,补齐位数后再进行运算。

5、赋值运算符

赋值运算符分为简单赋值运算符(Simple Assignment Operator)复合赋值运算符(Compound Assignment Operators)。简单赋值运算符只有=,用于计算运算符=的右边表达式的值并将其送到左边的存储单元中。使用复合赋值运算符,可以使得表达式变得简洁,同时也有助于加快程序运行速度。所有的赋值运算符参见表5。
复合赋值运算表达式的一般形式是:
<表达式1> <运算符>= <表达式2>

在这里插入图片描述

6、条件运算符

一般形式为:expression?statement1:statement2
注:
1.statement1和statement2需要返回相同的数据类型,且该类型不能是void。
2.一般用来实现if-else条件语句的功能
(max=a>b?a:b)

7、字符串运算符

字符串运算符 “+” 是以String为对象进行的操作。运算符“+”完成字符串连接操作,如果必要,则系统自动把操作数转换为String型。

float a=100.0; //定义变量a为浮点型
print(“The value of a is”+a+“\n”); //系统自动将a转换成字符串
String s1+=a;//s1=s1+a,若a非String型,自动转换为String型。

8、 运算符的优先级和结合性

在对一个表达式进行运算时,要按运算符的优先顺序从高向低进行,同级的运算符则按从左到右的方向进行,故运算符有优先级和结合性。
不必死记硬背运算符的优先级。必要时可以在表达式中使用圆括号,圆括号的优先级最高。圆括号还可以使表达式显得更加清晰。

int x = 5;
int y = 5;
boolean z = x * 5 == y + 21;
boolean z = (x * 5) == (y + 21)

由键盘输入数据

键盘输入的数据,不管是文字还是数字,Java皆视为字符串,因此若是要由键盘输入数字则必须再经过转换。

由键盘输入数据—输入字符串

//appA_3.java        由键盘输入字符串
import java.io.*;    //加载java.io类库里的所有类
public class App3
{
  public static void main(String[] args) throws IOException
  {
    BufferedReader buf;
    String str;
    buf = new BufferedReader (new InputStreamReader (System.in));
    System.out.print("请输入字符串;");
    str = buf.readLine();        //将输入的文字指定给字符串变量str存放
    System.out.println("您输入的字符串是:"+str);   //输出字符串
  }
}

由键盘输入数据—输入数值

由键盘输入的数据,不管是文字还是数字,Java皆视为字符串,
因此若是要由键盘输入数字则必须再经过转换。

//App4.java         由键盘输入数值型数据
import java.io.*;
public class App4
{
  public static void main(String[] args) throws IOException
  {
    float num;
    String str;
    BufferedReader buf;
    buf=new BufferedReader(new InputStreamReader(System.in));
    System.out.print("请输入一个实数:");
    str=buf.readLine();         //将输入的文字指定给字符串变量str存放
    num= Float.parseFloat(str);   //将str转换成float类型后赋给num
    System.out.println("您输入的数为:"+num);
  }
}

由键盘输入数据——多个数据

//方法1:App5.java     由键盘输入多个数据
import java.io.*;
public class App5{
  public static void main(String[] args) throws IOException
  {
    int num1,num2;
    String str1,str2;
    InputStreamReader in;
    in= new InputStreamReader(System.in);
    BufferedReader buf;
    buf=new BufferedReader(in);
    System.out.print("请输入第一个数:");
    str1=buf.readLine();         //将输入的内容赋值给字符串变量str1
    num1=Integer.parseInt(str1);   //将str1转成int类型后赋给num1
    System.out.print("请输入第二个数:");
    str2=buf.readLine();         //将输入的内容赋值给字符串变量str2
    num2=Integer.parseInt(str2);   //将str2转成int类型后赋给num2
    System.out.println(num1+"*"+num2+"="+(num1*num2));
  }
}

简化输入方式

为了简化输入操作,从Java SE 5版本开始在java.util类库中新增了一个类专门用于输入操作的类Scanner,可以使用该类输入一个对象。

  • 标准输入/输出流
    System.out 标准输出流
    System.in 标准输入流
  • 使用Scanner类从控制台输入,创建它的对象,以读取来自System.in 的输入:
    Scanner input = new Scanner(System.in);( Scanner类在包java.util里,在第一行要被导入)
    对象可以调用nextDouble()方法来获取一个double值
    double d = input.nextDouble();
  • Scanner对象的方法:在该结构中用创建的reader对象调用nextDouble()方法来读取用户从键盘上输入的double型数据,也可用reader对象调用下列方法,读取用户在键盘上输入的相应类型的数据:
    nextByte()、 nextShort()、 nextInt()
    nextLong()、 nextFloat() 、nextDouble()
    next() 读入一个字符串
    nextLine() 读取一整行文本

    由键盘输入数据—多个数据

//方法2:App3_6.java     由键盘输入多个数据
import java.util.*;    //加载java.util类库里的所有类
public class App3_6
{
  public static void main(String[] args)
  {
    int num1;
    double num2;
    Scanner reader=new Scanner(System.in);
    System.out.print("请输入第一个数:");
    num1= reader.nextInt();       //将输入的内容作为int型数据赋值给变量num1
    System.out.print("请输入第二个数:");
    num2= reader.nextDouble();    //将输入的内容作为做double型数据赋值给变量num2
    System.out.println(num1+"*"+num2+"="+(num1*num2));
  }
}

例题展示

  • 编写程序,给定半径,计算圆的面积

代码展示:

package shujia_test1;

import java.util.Scanner;
public class Csdn2_2 {
       public static void main(String[] args) {
       Scanner input = new Scanner(System.in);
       System.out.print("Enter a number for radius:");
       final double PI = 3.14159;
      double radius = input.nextDouble();
      double area = radius * radius * PI;
      System.out.println("The area is"+" " + area);
       }
}

运行结果:

在这里插入图片描述
博主用心写,读者点关注;互动传真情,知识不迷路

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/786532.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

我们公司落地大模型的路径、方法和坑

最近一年&#xff0c;LLM&#xff08;大型语言模型&#xff09;已经成熟到可以投入实际应用中了。预计到 2025 年&#xff0c;AI 领域的投资会飙升到 2000 亿美元。现在&#xff0c;不只是机器学习专家&#xff0c;任何人都能轻松地把 AI 技术融入自己的产品里。 我们整理了一…

AI与智能的差异

在讨论AI&#xff08;人工智能&#xff09;与智能的差异时&#xff0c;可以从以下几个角度来理解&#xff1a; 人工智能&#xff08;AI&#xff09;是指计算机系统执行人类通常需要使用智力才能完成的任务的能力。这包括感知、推理、学习、解决问题等。AI可以通过算法和大数据进…

【C++】开源:格式化库fmt配置与使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍格式化库fmt配置与使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下…

Aop切面编程(1)

1、aop的使用思想&#xff1a;面向切面的编程&#xff0c;不改变原有代码的基础上&#xff0c;进行拓展&#xff0c;减少代码的冗余&#xff0c;降低耦合性&#xff1b; 2、使用注解进行aop编程&#xff0c;使用自定义注解 2.1导入aop的依赖 <dependency><groupId&…

人话学Python-基础篇-数字计算

一&#xff1a;数字类型 对于最常见的数据类型,数字在Python中分为三类&#xff1a; 整型(int) 表示的是整数类型的所有数字&#xff0c;包括正整数&#xff0c;负整数和0。和C语言不同的是&#xff0c;Python中的int型没有范围的限制&#xff0c;理论上可以从无限小的整数取到…

文献阅读:基于测序的空间转录组方法的系统比较

文献介绍 文献题目&#xff1a; Systematic comparison of sequencing-based spatial transcriptomic methods 研究团队&#xff1a; 田鲁亦&#xff08;广州实验室&#xff09;、刘晓东&#xff08;西湖大学&#xff09; 发表时间&#xff1a; 2024-07-04 发表期刊&#xff…

【YOLO格式的数据标签,目标检测】

标签为 YOLO 格式&#xff0c;每幅图像一个 *.txt 文件&#xff08;如果图像中没有对象&#xff0c;则不需要 *.txt 文件&#xff09;。*.txt 文件规格如下: 每个对象一行 每一行都是 class x_center y_center width height 格式。 边框坐标必须是 归一化的 xywh 格式&#x…

上传图片,base64改为文件流,并转给后端

需求&#xff1a; html代码&#xff1a; <el-dialog v-model"dialogPicVisible" title"新增图片" width"500"><el-form :model"picForm"><el-form-item label"图片名称&#xff1a;" :label-width"10…

开放式耳机哪个品牌比较好?2024最值得推荐的火爆机型!!

在这个快节奏的时代&#xff0c;我们都在寻找那些既能让我们享受音乐&#xff0c;又能保持对外界感知的音频设备。开放式耳机以其独特的设计&#xff0c;满足了这一需求&#xff0c;它们让你在享受音乐的同时&#xff0c;还能听到周围环境的声音&#xff0c;无论是安全出行还是…

【机器学习】作业 Exam1

线性回归预测 唉&#xff0c;研0了&#xff0c;得学机器学习了。当然还是听的吴恩达老师的课&#xff0c;虽然全是英文&#xff0c;但是&#xff0c;怎么评价呢&#xff0c;讲得既专业又通俗易懂&#xff0c;初学者(像我这样的菜鸡)都值得一看&#xff01;&#xff01; 根据人…

更深入了解汽车与航空电子等安全关键型应用的IP核考量因素

作者&#xff1a;Philipp Jacobsohn&#xff0c;SmartDV高级应用工程师 中国已经连续十多年成为全球第一大汽车产销国&#xff0c;智能化也成为了汽车行业发展的一个重要方向&#xff0c;同时越来越多的制造商正在考虑进入无人机和飞行汽车等低空设备&#xff0c;而所有的这些…

以太网电路相关功能说明

RJ45模块用于PHY芯片之间的互连&#xff0c;如图1所示&#xff0c;RJ45有两种组合形式&#xff0c;一种是分立式&#xff0c;网口变压器和RJ45连接座是分开的&#xff0c;另一种是网口变压器和RJ45集成在一起。 图1 RJ45两种主要形式 接下来以分立式RJ45的百兆网电路做个说明&a…

Xilinx FPGA UltraScale SelectIO 接口逻辑资源

目录 1. 简介 2. Bank Overview 2.1 Diagram 2.2 IOB 2.3 Slice 2.4 Byte Group 2.5 I/O bank 示例 2.6 Pin Definition 2.7 数字控制阻抗(DCI) 2.8 SelectIO 管脚供电电压 2.8.1 VCCO 2.8.2 VREF 2.8.3 VCCAUX 2.8.4 VCCAUX_IO 2.8.5 VCCINT_IO 3. 总结 1. 简介…

Intewell+Codesys高实时运控解决方案

IntewellCodesys高实时运控解决方案 IntewellCodesys方案&#xff0c;基于X86、ARM、MIPS、RISC-V等不同架构的硬件平台&#xff0c;通过Intewell实时操作系统的多种构型形态&#xff0c;包括Intewell-RTOS&#xff0c;Intewell-Win&#xff0c;Intewell-Lin&#xff0c;Intewe…

详解TCP和UDP通信协议

目录 OSI的七层模型的主要功能 tcp是什么 TCP三次握手 为什么需要三次握手&#xff0c;两次握手不行吗 TCP四次挥手 挥手会什么需要四次 什么是TCP粘包问题&#xff1f;发生的原因 原因 解决方案 UDP是什么 TCP和UDP的区别 网络层常见协议 利用socket进行tcp传输代…

查看oracle ojdbc所支持的JDBC驱动版本

oracle jcbc驱动的下载地址参考&#xff1a;JDBC and UCP Downloads page 其实上文中对ojdbc所支持的JDBC驱动版本已经有说明了&#xff0c;不过&#xff0c;因为oracle的驱动包很多时间&#xff0c;都是在公司内部私服里上传维护的&#xff0c;上传的时候&#xff0c;可能又没…

鲸发卡系统 /pay/xinhui/request_post 任意文件读取漏洞复现

0x01 产品简介 鲸发卡系统 致力于解决虚拟商品的快捷发卡服务&#xff0c;为商户及其买家 提供&#xff0c;便捷、绿色、安全、快速的销售和购买体验。框架已升级TP最新版本&#xff0c;无安全BUG&#xff0c;重新开发将近80&#xff05;&#xff0c;原创功能10项&#xff0c;…

static-02

三个注意点 1.静态方法中无this关键字 2.静态方法只能访问静态资源 3.非静态方法可以访问所有 1.静态方法中无this关键字--------(非静态)普通方法里有this关键字(隐藏的) this关键字:代表方法调用者的地址值----这个方法的调用者的就是一个具体的对象 非静态的东西通常跟…

使用virt-manager添加宿主机上的U盘

1、打开virt-manager管理界面 [rootkvm4 ~]# virt-manager 2、打开需要添加U盘的虚拟机 3、进入Hardware管理器 4、选择插入U盘的设备&#xff0c;点Finish 5、进入虚拟机&#xff0c;确认U是否添加OK

基层医院、专科医院云HIS系统,支持电子病历四级,全套源码交付

云HIS系统采用B/S架构云端SaaS服务的方式提供&#xff0c;使用用户通过浏览器即能访问&#xff0c;无需关注系统的部署、维护、升级等问题&#xff0c;系统充分考虑了模板化、配置化、智能化、扩展化等设计方法&#xff0c;覆盖了基层医院的主要工作流程&#xff0c;能够与监管…