Java学习第二天
一、两个常用工具
1、随机生产一个[0,1)之间的数
Math.random()
举例:
double box =Math.random();
//产生随机小数 [0,1)
System.out.println("box="+box);
//[min,max+1)
int min =5;
int max =9;
box =Math.random()*(max-min+1) +min;
System.out.println(box);
2、与客户交互,获取客户电脑的输入值
java.util.Scanner
具体步骤:
1、定位包:import java.util.Scanner
2、准备: Scanner tool =new Scanner(System.in)
3、使用:tool.nextInt() 、 tool.nexDouble
举例:
import java.util.Scanner;
public class ToolDemo02{
public static void main(String[] args){
//2、准备工具
Scanner tool =new Scanner(System.in);
//3、使用
//1)、获取整数
System.out.println("请输入年龄:");
int age = tool.nextInt();
System.out.println("你输入的年龄为:"+age);
//2)、获取小数
System.out.println("请输入海拔:");
double height =tool.nextDouble();
System.out.println("你输入的海拔为:"+height);
二、类型转换
造成的原因,数据类型不匹配,为了匹配问题,需要对类型进行处理,分类为
自动类型转换
大类型盒子 = 小类型的数据
1、 如果存在大数参与运算,结果以大数为准,尽可能将大数提前。
2、 在表数范围内: byte short char =字面值|常量值
3、 算术时 :
1)、字面值|常量值
byte| short| char|int =byte short char int +byte short char int
2)、一旦有变量参与运算
int =byte short char int +byte short char int
强制类型转换
小类型盒子 = (小类型)大类型的数据;
注意() 作用范围
举例:
/**
强制类型转换: 小类型变量 =(小类型)大类型的值
注意点: ()作用范围
*/
public class ParseDemo02{
public static void main(String[] args){
char ch ='A';
int box = ch; //自动
ch =(char) box; //强制
double num = 3.5;
box =(int)num; //舍弃小数点
System.out.println(box);
//()作用范围
box = (int)(num*2); //(int)num*2
System.out.println(box);
//产生[0,8)随机整数
int max =8;
int min =0;
int letter =(int)Math.random()*(max-min)+min;
System.out.println(letter);
//正确写法
letter =(int)(Math.random()*(max-min)+min);
System.out.println(letter);
//产生随机的小写字母 大写字母
//97+0-->'a'
//97+1-->'b'
//97+25-->'z'
max ='z'+1;
min =97;
letter =(int)(Math.random()*(max-min)+min);
System.out.println((char)letter);
//65 -->'A'
//产生小写字母 (根据已有的工具 解决未知的问题)
char lowerLetter =(char)(Math.random()*('z'-'a'+1)+'a');
System.out.println(lowerLetter);
//思考如何产生大写字母
}
}
三、选择执行
最多执行一次
1、if :条件boolean值,一般区间
“如果就”,条件成立执行,分为三类
1)、单选择
If(条件){ //执行代码块 } |
举例:
/**
单选择:
if(){
}
产生[0,100] 整数,判断是否为偶数,如果是输出偶数
*/
public class IfDemo01{
public static void main(String[] args){
//1、产生[0,100] 整数
int rnd =(int)(Math.random()*101);
System.out.print("产生的数为:"+rnd);
//2、判断是否为偶数,如果是偶数,输出"此数是偶数"
//分析: 偶数 rnd%2==0
/*
boolean flag = (rnd%2==0);
//套用选择
if(flag){
System.out.println("此数为偶数");
}
*/
//在开发时如果变量只使用一次,可以匿名
if(rnd%2==0){
System.out.println("此数为偶数");
}
}
}
2)、双选择
If(条件){
//执行代码块1
}else{
//执行代码块2
}
举例:
/**
双选择:
if(){
}else{
}
产生[0,100] 整数,判断是否为偶数,如果是输出偶数,否则输出奇数
*/
public class IfDemo02{
public static void main(String[] args){
//1、产生[0,100] 整数
int rnd =(int)(Math.random()*101);
System.out.print("产生的数为:"+rnd);
//2、判断是否为偶数,如果是偶数,输出"此数是偶数"
//在开发时如果变量只使用一次,可以匿名
if(rnd%2==0){
System.out.println("此数为偶数");
}else{
System.out.println("此数为奇数");
3)、多选择
If(条件1){
//执行代码块1
}else if(条件2){
//执行代码块2
}else if(条件3){
//执行代码块3
}else{
}
举例
/**
多选择: 从键盘输入 [1,7] 的整数
1、判断是否为周末或工作日
*/
import java.util.Scanner;
public class IfDemo03{
public static void main(String[] args){
Scanner tools =new Scanner(System.in);
//从键盘输入1-7 整数
int day =tools.nextInt();
if(day==1){
System.out.println("悲催工作日");
}else if(day==2){
System.out.println("悲催工作日");
}else if(day==3){
System.out.println("悲催工作日");
}else if(day==4){
System.out.println("悲催工作日");
}else if(day==5){
System.out.println("悲催工作日");
}else if(day==6){
System.out.println("无聊的周末");
}else if(day==7){
System.out.println("无聊的周末");
}
System.out.println("好无生趣的人生");
if(day>=1 &&day<=5){
System.out.println("悲催工作日");
}else if(day>=6 && day<=7){
System.out.println("无聊的周末");
}else{
System.out.println("错误的输入。。。");
}
}
}
2、switch:定值判断
结构
switch(int整数|1.7字符串|枚举){ case 定值1(字面值|常量) : //代码1 //break; case定值2(字面值|常量) : //代码2 //break; …… default : //其他情况 } |
需注意:
1、 switch 定值表达式
2、 case 定值:常量字面值枚举值
3、 default: 一般放在最后,位置不固定
4、 break: 结束switch, 防止下穿
结束: 正常到 } 遇到break
举例
import java.util.Scanner;
public class SwitchDemo03{
public static void main(String[] args){
Scanner tool =new Scanner(System.in);
//接收月份[1,12]
System.out.println("请输入月份:");
int month =tool.nextInt();
switch(month/3){
case 1:
System.out.println("春困");
break;
case 2:
System.out.println("夏打盹");
break;
case 3:
System.out.println("秋乏");
break;
default:
System.out.println("冬眠");
}
// 上面为简单形式,下面为复杂形式。
/*
switch(month){
case 3:
case 4:
case 5:
System.out.println("春困");
break;
case 6:
case 7:
case 8:
System.out.println("夏打盹");
break;
case 9:
case 10:
case 11:
System.out.println("秋乏");
break;
default:
System.out.println("冬眠");
}
*/
}
}
Java学习第二天的更多相关文章
- 2017年1月1日 java学习第二天复习
今天是新年的第一天,以前学习没有总结习惯,学习效率和成果都很不好. 学习的过程就是反复的复习和不断学习的过程,开始今天的学习总结 学习java的第二天. 今天学习了java最基础的一些内容,照着 ...
- Java学习第二周学习笔记
20145307<Java程序设计>第二周学习总结 教材学习内容总结 Java语言中的很多基本语法都和C语言类似,以下Java中的基本语法 标识符 标识符是程序中自定义的一些名称. 由26 ...
- 201671010140. 2016-2017-2 《Java程序设计》java学习第二周
学习第二周(Java基本程序设计结构) 这一周,着重学习了Java的简单程序设计实现及运行,通过自己操作,发现Java的程序语法大面 ...
- 从.Net到Java学习第二篇——IDEA and start spring boot
从.Net到Java学习第一篇——开篇 所谓工欲善其事,必先利其器,做java开发也一样,在比较了目前最流行的几个java IDE(eclipse,myeclipse.IDEA)之后,我果断选择IDE ...
- Java 学习 第二篇;面向对象 定义类的简单语法:
1:基本知识 [public / protected / private] class 类名 { 零个到多个构造器定义; 零个到多个属性; 零个到多个方法; } 其中类中各个成员之间的顺序没有关系,且 ...
- JAVA学习第二周课后作业
Java 的基本运行单位是类.类由数据成员和函数成员组成.变量之间可以相互转换.String是一个类.static是静态.全局的意思.经过测试,Java的枚举类型定义的Size与String一样都不是 ...
- 2019 java学习 第二周总结
新学期,新气象,新老师,不同的语言学习. 我已经荒废了大一,感觉自己在大一根本没学啥,可能是自己太贪玩了,导致自己学的不精,自己对其他的见解很少. 也有自大的原因,导致自己一直浮在水平面,有实力,有耐 ...
- java学习第二天 20207/7
一. 1.对传参进行了了解 2. 2.java的变量命名与c/c++有些不同在java中有¥,字母,下划线和数字,同样不可以是数字开头. java的布尔型为boolean 各个数据类型的信息: 注意: ...
- Java学习第二周
这一周观看了黑马程序员毕向东的教学视频学习了数组的创建:数组元素的使用及遍历,类的声明,成员方法的声明,构造器的声明 数据类型[] 数组名 = new 数据类型[长度];数据类型[] 数组名 = {数 ...
随机推荐
- mustache模板技术
一.简介Web 模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,通常是标准的 HTML 文档.当然不同的开发语言有不同模板引擎,如 Javascript 下的 Hog ...
- visual studio 插件开发
插件的定义 所谓插件,就是根据平台接口开发的第三方程序.第一次听到这个名词很是不了解,听了解释也不是很明白,那我们来举个例子,比如说一辆房车,现在里面只有基本的一些设施,但是你现在想在顶部有一个晒太阳 ...
- 解决apache AH01630: client denied by server configuration错误
昨天给公司配置了apache-2.4.9的版本,今天他们要求把虚拟主机配置起好放网站程序,在修改apache-2.4.9的配置文件中,我发现了2.4.x跟以前的2.2.x里面的很多配置都不一样了,比如 ...
- Apache Thrift - 可伸缩的跨语言服务开发框架
To put it simply, Apache Thrift is a binary communication protocol 原文地址:http://www.ibm.com/developer ...
- 带你揭开ATM的神秘面纱
相信大家都用过ATM取过money吧,但是有多少人真正是了解ATM的呢?相信除了ATM从业者外了解的人寥寥无几吧,鄙人作为一个从事ATM软件开发的伪专业人士就站在我的角度为大家揭开ATM的神秘面纱吧. ...
- HDU 3076 ssworld VS DDD 概率dp,无穷级数,oj错误题目 难度:2
http://acm.hdu.edu.cn/showproblem.php?pid=3076 不可思议的题目,总之血量越少胜率越高,所以读取时把两人的血量交换一下 明显每一轮的胜率和负率都是固定的,所 ...
- bzoj 1185 旋转卡壳 最小矩形覆盖
题目大意 就是求一个最小矩形覆盖,逆时针输出其上面的点 这里可以看出,那个最小的矩形覆盖必然有一条边经过其中凸包上的两个点,另外三条边必然至少经过其中一个点,而这样的每一个点逆时针走一遍都满足单调性 ...
- 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...
- VS设置背景色减缓眼睛疲劳
工具--选项--字体和颜色--(纯文本)项背景色--自定义... 色调:85 饱和度:123 亮度:205 可自己微调 字体设为10.
- mybatis分页插件PageHelper的使用(转)
Mybatis 的分页插件PageHelper-4.1.1的使用 Mybatis 的分页插件 PageHelper 项目地址:http://git.oschina.net/free/Mybatis_P ...