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类型后赋给numSystem.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();         //将输入的内容赋值给字符串变量str1num1=Integer.parseInt(str1);   //将str1转成int类型后赋给num1System.out.print("请输入第二个数:");str2=buf.readLine();         //将输入的内容赋值给字符串变量str2num2=Integer.parseInt(str2);   //将str2转成int类型后赋给num2System.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型数据赋值给变量num1System.out.print("请输入第二个数:");num2= reader.nextDouble();    //将输入的内容作为做double型数据赋值给变量num2System.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);}
}

运行结果:

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字化时代下,财务共享数据分析建设之路

随着人工智能、云计算、大数据、区块链等技术&#xff0c;以及衍生出的各种产品的大发展&#xff0c;使得数字化发展的速度再一次加快&#xff0c;也让数字经济和数字化转型得到了更多人的关注和认可。 在传统经济增长逐渐放缓&#xff0c;市场竞争愈发激烈的局面下&#xff0…

GOJS去除水印

GOJS gojs 去除水印 **查找go.js库搜索下面这段文本 String.fromCharCode(a.charCodeAt(g)^b[(b[c]b[d])%256]) 加入这段文本 if(f.indexOf(GoJS 2.1 evaluation)>-1|| f.indexOf(© 1998-2021 Northwoods Software)>-1|| f.indexOf(Not for distribution or produ…

splice方法的使用#Vue3

splice方法的使用 splice(index,len,item)是vue中对数组进行操作的方法之一&#xff0c;可以用来删除&#xff0c;更新&#xff0c;和增加数组内容 参数: index:数组下标 len&#xff1a;为1或0 item:更新或增加的内容 使用方法&#xff1a; 删除&#xff0c;当参数形式为spli…

Linux内核网络性能问题的追踪(工具篇)

在现代计算环境中&#xff0c;网络性能对于系统的整体性能至关重要。网络瓶颈不仅会影响数据传输速度&#xff0c;还会影响应用程序的响应时间&#xff0c;最终影响用户体验。为了有效地解决网络性能问题&#xff0c;了解和使用各种追踪工具至关重要。另外一方面&#xff0c;造…

MySQL批量插入数据的几种方式

最近在项目中遇到了批量插入数据的一些问题&#xff0c;一般图省事都是利用mybatis或mybatis-plus的saveBatch方法&#xff0c;但这次因为数据过多&#xff0c;出现了一系列的问题&#xff0c;只能手动处理&#xff0c;接下来分享下对于数据量比较大的批量插入&#xff0c;可能…

python的魔法方法

python类中的self是什么&#xff1f; 对象的方法都会有一个self参数&#xff0c;类比于c&#xff0c;self就相当于c的this指针。 由一个类可以生成无数个对象&#xff0c;当一个对象的方法被调用时&#xff0c;对象会讲自身的引用作为第一个参数传给该方法&#xff0c;那么pyt…

CTF-PWN-kernel-栈溢出(retuser rop pt_regs ret2dir)

文章目录 参考qwb2018 core检查逆向调试打包上传测试脚本retuserkernel ropinit_credcommit_creds( prepare_kernel_cred(0) )开启KPTI利用swapgs_restore_regs_and_return_to_usermode开启KPTI利用SIGSEGVrop设置CR3寄存器再按照没有KPTI返回 kernel rop ret2userpt_regs 构造…

2024年浙江省高考分数一分一段数据可视化

下图根据 2024 年浙江高考一分一段表绘制&#xff0c;可以看到&#xff0c;竞争最激烈的分数区间在620分到480分之间。 不过&#xff0c;浙江是考两次取最大&#xff0c;不是很有代表性。看看湖北的数据&#xff0c;580分到400分的区段都很卷。另外&#xff0c;从这个图也可以…

RTOS系统 -- FreeRTOS之任务调度

FreeRTOS中的任务调度 背景介绍 FreeRTOS是一种轻量级的实时操作系统&#xff0c;被广泛应用于嵌入式系统中。它提供了多任务管理功能&#xff0c;包括任务创建、任务调度和任务切换。FreeRTOS的调度器根据任务的优先级和状态自动调度任务&#xff0c;确保系统资源的有效利用…

独立站优势及吸引力分析

随着全球化贸易的不断深入&#xff0c;越来越多的厂商开始寻求更广阔的市场和更高效的销售渠道。独立站作为企业自有的电商网站&#xff0c;正逐渐成为海外贸易的新宠。本文将分析独立站的优势及其对厂商的吸引力&#xff0c;鼓励厂商以建立独立站的方式出海。 一、独立站的定义…

el-image放大图片功能

1.需求&#xff1a;点击图片后放大图片 html代码&#xff1a; <el-imagestyle"width: 100px; height: 100px":src"baseUrl item.id":zoom-rate"1.2":max-scale"7":min-scale"0.2":preview-src-list"srcList"…

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. 简介…

Vue利用递归的方法,根据id获取对应的字段名(树形数据)

树形数据源 options:[{ancestors: "0",code: "99",id: "99",name: "测试部门1",parentId: "0",children: [{ancestors: "0,99",code: "test",id: "1720269456426344449",name: "测试子部…

【国潮】软件本土化探索

文章目录 一、国产-操作系统银河麒麟&#xff08;Kylin&#xff09;操作系统华为鸿蒙系统&#xff08;HarmonyOS&#xff09;统信UOS深度Deepin 二、国产-服务器华为鲲鹏&#xff1a;飞腾&#xff1a;海光&#xff1a;兆芯&#xff1a;龙芯&#xff1a;申威&#xff1a; 三、国…

Redis学习 - 基础篇

Redis学习 - 基础篇 一. 简介 Redis 是一个高性能的key-value数据库&#xff0c;常用的数据类型如下&#xff1a;string&#xff0c;list&#xff0c;set&#xff0c;zset&#xff0c;hash 二. 安装 Widows和Linux下如何安装Redis-CSDN博客 三. 常用命令 配置及数据库操作…

《信息技术与信息化 》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问&#xff1a;《信息技术与信息化 》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第一批认定学术期刊。 问&#xff1a;《信息技术与信息化 》级别&#xff1f; 答&#xff1a;省级。主管单位&#xff1a;山东省科学技术协会 主办单…

国内磁性器件核心企业『云路新能源』携手企企通正式启动SRM项目,供应链竞争力再上新台阶

近日&#xff0c;珠海黎明云路新能源科技有限公司&#xff08;以下简称“云路新能源”&#xff09;携手企企通启动SRM数字化采购供应链管理项目&#xff0c;双方相关负责人与项目组成员出席本次启动会。 本次采购数字化项目建设&#xff0c;企企通将助力云路新能源实现采购全场…

智能无人数字直播间 打造24小时的无人直播间源码系统 带网站的安装代码包以及搭建教程

系统概述 智能无人数字直播间系统是一种基于人工智能技术的软件工具&#xff0c;它结合了高精度扫描建模、自动化控制、多模态生成等多项先进技术&#xff0c;能够实现对真实人物的高度仿真&#xff0c;并自主执行各类直播任务。该系统不仅支持24小时不间断直播&#xff0c;还…

微信小程序引入自定义子组件报错,在 C:/Users/***/WeChatProjects/miniprogram-1/components/路径下***

使用原生小程序开发时候&#xff0c;会报下面的错误&#xff0c; [ pages/button/button.json 文件内容错误] pages/button/button.json: [“usingComponents”][“second-component”]: “…/…/components/second-child/index”&#xff0c;在 C:/Users/***/WeChatProjects/m…

Windows 中修改 MySQL 密码

没想到这样一个简单的需求&#xff0c;愣是试了半天没试到有用的命令&#xff0c;最后终于找到一个有用的&#xff0c;在此做个记录&#xff1a; set password for rootlocalhost 你的新密码;