java两个和三个_Java语言基础(day_03)

数据类型中补充的几个小问题

1)在定义Long或者Float类型变量的时候,要加L或者f。整数默认是int类型,浮点数默认晨double。

byte,short在定义的肘候,他们接收的某实是一个int类型的值。这个是自己做了一个数据检测的,如果不再它们的范围内,就报错。

2)byte值的问题

ae44b6fd6a8d

3)数据类型转换之默认转换

为什么float在long的后面?

ae44b6fd6a8d

解析图

4)Java语言中字符char可以存储一个中文汉字吗?为什么呢?

可以。因为java语言中的字符占用两个字节。(Java语言采用的是Unicode编码)

运算符(掌握)

1)概述

就是对常量和变量进行操作的符号。

2)分类

> 算术运算符

+,-,*,/,%,++,--

ae44b6fd6a8d

算术运算符案例图

1)注意:

A:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型

B: '/'获取的是除法操作的商,'%'获取的是除法操作的余数。

2)++,--运算符的使用:

A:单独使用,放在操作数的前面和后面效果一样。(这种用法是我们比较常见)

B:参与运算使用,放在操作数的前面,先自增或者自减,然后再参与运算。放在操作数的后面,先参与运算,再自减或者自增。

作用:就是对变量进行自增1或者自减1。

ae44b6fd6a8d

单独使用

ae44b6fd6a8d

参与运算

3)++,--的练习题

ae44b6fd6a8d

题目

ae44b6fd6a8d

第一题解析图

ae44b6fd6a8d

第二题解析图

4)+的三种用法以及案例

ae44b6fd6a8d

> 赋值运算符

=,+=,-=,*=,/=,%=        除=外,其余均为扩展的赋值运算符,=为基本的赋值运算符

基本赋值运算符,即把左边的值赋给右边;而扩展赋值运算符,先将左边和右边进行运算,然后赋值给左边。

ae44b6fd6a8d

赋值运算符的案例

ae44b6fd6a8d

面试题案例

> 比较运算符

==,!=,>,=,<=

特点:无论操作是简单还是复杂,结果都是boolean类型

注意事项:“==” 不能写成 “=”

ae44b6fd6a8d

比较运算符的案例

> 逻辑运算符

&,|,^,!        &&,||

特点:逻辑运算符一般用于连接boolean类型的表达式或者值。

表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。举例:(算术表达式) a+b,(比较表达式) a == b

逻辑运算符用于连接布尔型表达式,在Java中不可以写成33&x<6。

“&”和“&&”的区别:

单&时,左边无论真假,右边都进行运算;

双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

异或(^)与或(|)的不同之处是:当左右都为true时,结果为false。

ae44b6fd6a8d

结论:&逻辑与:有false则false

ae44b6fd6a8d

结论:|逻辑或:有true则true

ae44b6fd6a8d

结论:^逻辑异或:相同为false,不同为true

ae44b6fd6a8d

结论:!逻辑非:取反

ae44b6fd6a8d

&与&&的区别案例

> 位运算符(了解)

<>,>>>,&,|,^,~

注意:要做位运算,首先要把数据转换为二进制。

ae44b6fd6a8d

位运算符案例题

ae44b6fd6a8d

&和|的运算解析

ae44b6fd6a8d

^和~的运算解析

^的特点:一个数据对另一个数据位异或两次,该数本身不变。

<

>>:右移    最高位是o,左边补齐o; 最高位是1,左边补齐1

>>>:无符号右移    无论最高位是0还是1,左边补齐0

ae44b6fd6a8d

相关的例题

ae44b6fd6a8d

程序的原理解析

面试题:

1)请用最有效率的方式写出计算2乘以8的结果

2*8     ——>    2 << 3

2)请自己实现两个整数变量的交换(^的特点)

ae44b6fd6a8d

ae44b6fd6a8d

> 三目运算符

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

关系表达式的结果是一个boolean类型,如果为true,运算后的结果是表达式1;如果为false,运算后的结果是表达式2。

2)示例

利用三目运算求x,y中的最大值

ae44b6fd6a8d

3)练习题

I.获取两个整数中的最大值

ae44b6fd6a8d

II.获取三个整数中的最大值

ae44b6fd6a8d

III.比较两个整数是否相同

ae44b6fd6a8d

键盘录入数据(掌握)

1)概述

我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的。所以,我准备把数据改进为键盘录入,提高程序的灵活性。

2)如何实现键盘录入数据呢?

I.导包       import java.util.Scanner;(位置放到class定义的上面)

II.创建对象    Scanner sc = new Scanner(System.in);

III.接收数据    int x = sc.nextlnt();

ae44b6fd6a8d

代码样式

3)键盘录入数据练习

在类前添加

ae44b6fd6a8d

导包

I.键盘录入两个数据,并对这两个数据求和,输出其结果

ae44b6fd6a8d

II.键盘录入两个数据,获取这两个数据中的最大值

ae44b6fd6a8d

III.键盘录入三个数据,获取这三个数据中的最大值

ae44b6fd6a8d

IV.键盘录入两个数据,比较这两个数据是否相等

ae44b6fd6a8d

流程控制语句

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。

流程控制语句分类:顺序结构、选择结构、循环结构

> 顺序结构

1)概述

是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。【总的来说:写在前面的先执行,写在后面的后执行】

2)结构图

ae44b6fd6a8d

顺序结构图

3)示例

ae44b6fd6a8d

> 选择结构(掌握)

1)概述

也被称为分支结构。选择结构有特定的语法规则,代码要执行具体的逻运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。

Java语言提供了两种选择结构语句:if语句和switch语句

2)if语句(有三种格式)

注意事项:关系表达式无论简单还是复杂,结果必须是boolean类型。if语句控制的语句体如果是一条语句,大括号可以省略;如果是多条语句,就不能省略。(建议永远不要省略。)【一般来说:有左大括号就没有分号,有分号就没有左大括号】

I.if(关系表达式){ 语句体 }

执行流程:首先判断关系表达式看结果是true还是false,如果为true就执行语句体;如果为false就不执行语句体。

ae44b6fd6a8d

格式I的流程图

ae44b6fd6a8d

格式I的示例

II.if(关系表达式){  语句体1;  }else{  语句体2;  }

执行流程:首先判断关系表达式看其结果是true还是false,如果是true就执行语句体1;如果是false就执行语句体2。

ae44b6fd6a8d

格式II的流程图

ae44b6fd6a8d

格式II的示例

if语句格式II的练习:

(1)获取两个数据中的较大的值

ae44b6fd6a8d

(2)判断一个数据是奇数还是偶数,并输入

ae44b6fd6a8d

前面讲解过三元运算符,它根据比较判断后,给出的也是两个结果,所以,这种情况和if语句的格式II很相似,他们在某些情况下应该是可以相互转换的。

三元运算符的操作都可以使用if语句改进,反之不成立。

什么时候不成立呢?当if语句控制的语句体是一条输出语句的时候,就不成立。因为三元运算符是一个运算符,必须要求有一个结果返回。而输出语句却不能作为一个返回结果。

ae44b6fd6a8d

不成立的示例

III.if(关系表达式1){  语句体1;  }else if(关系表达式2){  语句体2;  }... else{  语句体n+1;  }

执行流程:首先判断关系表达式1看其结果是true还是false,如果是true就执行语句体1;如果是false就继续判断关系表达式2看其结果是true还是false,如果是true就执行语句体2;如果是false就继续判断关系表达式...看其结果是true还是false.....如果没有如何关系表达式为true,就执行语句体n+1。

ae44b6fd6a8d

格式III的流程图

示例:键盘录入一个成绩,判断并输出成绩的等级。    0~60为不及格,60~70为及格,70~80为良,80~90为好,90~100为优秀。

ae44b6fd6a8d

三种if语句分别适合做什么事情呢?格式I适合做单个判断;格式II适合做两个判断;格式III适合做多个判断。

if语句的练习题

(1)键盘录入x的值,计算出y的并输出。

ae44b6fd6a8d

要求

ae44b6fd6a8d

(2)键盘录入月份的值,输出对应的季节。

ae44b6fd6a8d

要求

ae44b6fd6a8d

主要的语句体

(3)获取三个数据中的最大值

ae44b6fd6a8d

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

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

相关文章

Hibernate中的JPA 2.1条件删除/更新和临时表

从JPA 2.0版开始&#xff0c; EntityManager提供了方法getCriteriaBuilder()来动态构建选择查询&#xff0c;而无需使用Java持久性查询语言&#xff08;JPQL&#xff09;进行字符串连接。 在2.1版中&#xff0c;此CriteriaBuilder提供了两个新方法createCriteriaDelete()和crea…

使用Hamcrest增强JUnit的测试能力

package com.jadyer.service;import java.util.HashMap; import java.util.Map;import org.hamcrest.Matchers; import org.junit.Assert; import org.junit.Test;/*** 使用Hamcrest增强JUnit的测试能力* see Hamcrest框架提供了一些相对通俗并高效的方法来进行一些junit比较困…

在Websphere 8.0上安装Liferay 6.2 Enterprise Edition

为Liferay准备Websphere 当应用服务器二进制文件均已安装完毕&#xff0c;启动WebSphere应用服务器&#xff08;WAS&#xff09; 配置文件管理工具来创建一个配置文件适用于Liferay的和遵循的指示说明这里正式Liferay的文档。 这些说明用于在Websphere 8.5上安装Liferay 6.2&am…

java完数流程图_编程基本功训练:流程图画法及练习

对于“程序设计”的工作&#xff0c;许多初学者的理解就是“写代码”。同样&#xff0c;新手们苦恼的问题是&#xff0c;他们只会“写代码”。当接到一个新的任务&#xff0c;不少人总是在第一时间就爬到键盘上去敲代码。敲着敲着&#xff0c;就把自己绕糊涂了。头晕脑胀地坚持…

iOS modal view的关闭和显示问题

今天遇到一个问题&#xff1a; 需要关闭当前modal view&#xff0c;再present另一个modal view。 如果这么写&#xff1a; [self dismissModalViewControllerAnimated:NO];[self.delegate showBorderDetectionView];执行了第一句&#xff0c;再执行第二句的时候&#xff0c;sel…

西工大java高级网络编程_奥鹏西工大16春《JAVA高级网络编程》平时作业

西工大16春《JV高级网络编程》平时作业一、单选题(共 25 道试题&#xff0c;共 100 分。)1. 假设以tomt为w服务器&#xff0c;在hllopp应用中有一个hllo.jsp&#xff0c;它的文件路径如下: %TOMT_HOM%/wpps/hllopp/hllo/hllo.jsp 那么在浏览器端访问hllo.jsp的URL是()。. http:…

c#导出Excel

问题&#xff1a;用户查询一些数据&#xff0c;需要对页面上的数据生成excel文件。 分析&#xff1a;写文件&#xff0c;用excel进程&#xff0c;或者使用response方法&#xff08;都是通过网上查资料&#xff0c;个人就理解成这两个&#xff09; 使用excel进程有一个确定&…

使用Java 8流遍历递归数据结构

Streams API是Java 8中的真正瑰宝&#xff0c;我一直在为它们寻找或多或少的意外用途。 我最近写过有关将它们用作ForkJoinPool门面的文章 。 这是另一个有趣的例子&#xff1a;遍历递归数据结构。 事不宜迟&#xff0c;请看一下代码&#xff1a; class Tree {private int va…

mysql把用户权限授予新用户_MySQL新建普通用户和库并授予新用户对新库的所有权限...

新建库新建cmf和amon两个库&#xff0c;并指定默认字符集mysql> create database cmf DEFAULT CHARACTER SET utf8;Query OK, 1 row affected (0.00 sec)mysql> create database amon DEFAULT CHARACTER SET utf8;Query OK, 1 row affected (0.00 sec)新建用户新建cmf和a…

快速入门:OpenShift上的Spring Boot和WildfFly 8.2

与Spring Boot&#xff0c;WildFly和OpenShift相比&#xff0c;这是真正的“快速入门”&#xff0c;与我上一篇更具描述性的文章相反。 先决条件 在开始构建应用程序之前&#xff0c;我们需要安装一个OpenShift免费帐户和客户端工具。 步骤1&#xff1a;建立WildFly应用程式 …

java开发环境搭建 pdf_01搭建java web开发环境.pdf

01搭建java web开发环境.pdf还剩19页未读&#xff0c;继续阅读下载文档到电脑&#xff0c;马上远离加班熬夜&#xff01;亲&#xff0c;很抱歉&#xff0c;此页已超出免费预览范围啦&#xff01;如果喜欢就下载吧&#xff0c;价低环保&#xff01;内容要点&#xff1a;( 7)在 M…

linux培训笔记1

第五章 文件和目录的管理 linux命令的基本格式 #命令 [选项] [参数] 1、linux下的常用命令 (1)ls 查看(列出)目录下的内容 -l 查看文件详细信息 drwxr-xr-x. 23 root root 4096 5月 31 15:06 var 文件类型和…

Java 8 Optional不仅用于替换空值

总览 在Java 8中&#xff0c;您可以返回Optional而不是返回null。 就像您在Java 7中所做的那样。这取决于您是否倾向于忘记检查null还是使用静态代码分析检查对nullalbe的引用&#xff0c;这可能有很大的不同。 但是&#xff0c;还有一种更引人注目的情况是将Optional视为具有…

WCF学习笔记之序列化

DataContractAttribute 与 DataMenberAttribute DataContractAttribute该特性只能用于枚举、类和结构体&#xff0c;而不能用于接口&#xff1b;又因为DataContractAttribute是不可以被继承的&#xff0c;所以要所有作为数据契约的类型自身必须有这么一个特性&#xff1b;而且一…

转载[POJ题型分类]

北大ACM题分类 主流算法&#xff1a; 1.搜索 //回溯 2.DP&#xff08;动态规划&#xff09;  3.贪心  4.图论 //Dijkstra、最小生成树、网络流 5.数论 //解模线性方程 6.计算几何 //凸壳、同等安置矩形的并的面积与周长 7.组合数学 //Polya定理 8.模拟  9.数据结构 //…

在AWS Elastic MapReduce上运行PageRank Hadoop作业

在上一篇文章中&#xff0c;我描述了执行PageRank计算的示例&#xff0c;该示例是使用Apache Hadoop进行Mining Massive Dataset课程的一部分。 在那篇文章中&#xff0c;我接受了Java中现有的Hadoop作业&#xff0c;并做了一些修改&#xff08;添加了单元测试&#xff0c;并通…

java sort 第二个参数_详解java Collections.sort的两种用法

Collections是一个工具类&#xff0c;sort是其中的静态方法&#xff0c;是用来对List类型进行排序的&#xff0c;它有两种参数形式&#xff1a;public static > void sort(List list) {list.sort(null);}public static void sort(List list, Comparator super T> c) {lis…

MVC3 中使用Unity实现依赖注入

前言&#xff1a;前段时间一直在研究依赖注入&#xff0c;不过不是在MVC框架中使用&#xff0c;今天突然想到在MVC中使用Unity实现依赖注入&#xff0c;一时慌了&#xff0c;不知道从何下手&#xff0c;接着就是网上不停的找资料&#xff0c;下面我把我找到的资料分享下&#x…

避免在ConcurrentHashMap.computeIfAbsent()中进行递归

有时我们会提供糟糕的建议。 就像该文章中有关如何将Java 8用于缓存的功能性方法来计算斐波那契数的文章一样 。 正如我们的读者之一马蒂亚斯&#xff08;Matthias&#xff09;在评论中注意到的那样 &#xff0c;提出的算法可能永远不会停止。 考虑以下程序&#xff1a; publi…

java调用wvsc.exe_c语言 函数的调用方法

欢迎加入编程爱好者 QQ群 群号 57616770中都只有一个主函数main()&#xff0c;但实用程序往往由多个函数组成。函数是&#xff23;源程序的基本模块&#xff0c;通过对函数模块的调在第一章中已经介绍过&#xff0c;&#xff23;源程序是由函数组成的。虽然在前面各章的程序用实…