一、两个常用工具

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学习第二天的更多相关文章

  1. 2017年1月1日 java学习第二天复习

    今天是新年的第一天,以前学习没有总结习惯,学习效率和成果都很不好.  学习的过程就是反复的复习和不断学习的过程,开始今天的学习总结   学习java的第二天. 今天学习了java最基础的一些内容,照着 ...

  2. Java学习第二周学习笔记

    20145307<Java程序设计>第二周学习总结 教材学习内容总结 Java语言中的很多基本语法都和C语言类似,以下Java中的基本语法 标识符 标识符是程序中自定义的一些名称. 由26 ...

  3. 201671010140. 2016-2017-2 《Java程序设计》java学习第二周

                                 学习第二周(Java基本程序设计结构)      这一周,着重学习了Java的简单程序设计实现及运行,通过自己操作,发现Java的程序语法大面 ...

  4. 从.Net到Java学习第二篇——IDEA and start spring boot

    从.Net到Java学习第一篇——开篇 所谓工欲善其事,必先利其器,做java开发也一样,在比较了目前最流行的几个java IDE(eclipse,myeclipse.IDEA)之后,我果断选择IDE ...

  5. Java 学习 第二篇;面向对象 定义类的简单语法:

    1:基本知识 [public / protected / private] class 类名 { 零个到多个构造器定义; 零个到多个属性; 零个到多个方法; } 其中类中各个成员之间的顺序没有关系,且 ...

  6. JAVA学习第二周课后作业

    Java 的基本运行单位是类.类由数据成员和函数成员组成.变量之间可以相互转换.String是一个类.static是静态.全局的意思.经过测试,Java的枚举类型定义的Size与String一样都不是 ...

  7. 2019 java学习 第二周总结

    新学期,新气象,新老师,不同的语言学习. 我已经荒废了大一,感觉自己在大一根本没学啥,可能是自己太贪玩了,导致自己学的不精,自己对其他的见解很少. 也有自大的原因,导致自己一直浮在水平面,有实力,有耐 ...

  8. java学习第二天 20207/7

    一. 1.对传参进行了了解 2. 2.java的变量命名与c/c++有些不同在java中有¥,字母,下划线和数字,同样不可以是数字开头. java的布尔型为boolean 各个数据类型的信息: 注意: ...

  9. Java学习第二周

    这一周观看了黑马程序员毕向东的教学视频学习了数组的创建:数组元素的使用及遍历,类的声明,成员方法的声明,构造器的声明 数据类型[] 数组名 = new 数据类型[长度];数据类型[] 数组名 = {数 ...

随机推荐

  1. bat产生随机数并复制文件及生成文件列表

    有这样一个场景:我需要将同一个文件复制为上千个文件,并且文件名应为随机数.为了简单起见,不想写程序,直接写个BAT来,方便,简单,易用: 1. 搞定用BAT产生32位随机数,存为变量并使用,保存以下代 ...

  2. Disaster Recovery, High Availability, and Continuous Availability - What's the Difference?

    Disaster Recovery, High Availability, and Continuous Availability - What's the Difference? Posted by ...

  3. eclipse debug时老提示edit source lookup path解决方案

    用myeclipse debug web应用的时候,总提示edit source lookup path,每次都得手动选择项目,费时费力.在网上终于找到了方法. 搬运:http://www.educi ...

  4. UVa 11427 - Expect the Expected

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  5. JavaScript 在函数中使用Ajax获取的值作为函数的返回值

    解决:JavaScript 在函数中使用Ajax获取的值作为函数的返回值,结果无法获取到返回值 原因:ajax默认使用异步方式,要将异步改为同步方式 案例:通过区域ID,获取该区域下所有的学校 var ...

  6. cmd打开控制面板及其他命令

    如果你在权限较小的域用户的机器上,要做一些管理操作,就不可避免的要使用cmd打开一些以前只能在图形界面里打开的程序.下面是我收集的一些常用操作. 以某个身份启动程序:runas /user:it\n1 ...

  7. [Swift2.0系列]Defer/Guard 基础语法

    1.Defer Swift2.0中加入了defer新语法声明.defer译为延缓.推迟之意.那么在Swift2.0中它将被应用于什么位置呢?比如,读取某目录下的文件内容并处理数据,你需要首先定位到文件 ...

  8. [Unity3D]调用Android接口

    简介 有一些手机功能,Unity没有提供相应的接口,例如震动,例如不锁屏,例如GPS,例如... 有太多的特殊功能Unity都没有提供接口,这时候,我们就需要通过使用Android原生的ADT编辑器去 ...

  9. 关于SharePoint REST中的授权的研究

    博客地址:http://blog.csdn.net/FoxDave 当我们开发SharePoint APP需要调用REST服务时,可以使用OAuth完成授权,也可以使用跨域库.以下是微软专家的一段注解 ...

  10. (五)CoreData 使用 (转)

    第一次真正的使用CoreData,因此也会写下体会和心得...等有时间 Core Data数据持久化是对SQLite的一个升级,它是ios集成的,在说Core Data之前,我们先说说在CoreDat ...