java输出随机数时换行_Java笔记3-for,switch循环,格式化输出,随机数

大纲:

一、分支结构

if

switch

二、循环

for

while

do while

break

continue

三、格式化输出 【printf】

int score = 100;

String name = "张三";

int number = 19;

System.out.println(name + "的分数是" + score + "分,排名为第" + number + "名.");

换用格式化输出:

System.out.printf("%s的分数是%d分,排名为第%d名.\n",name,score,number);

%s 字符串

%d 整数

%f 浮点数

\n 换行

\t 隔开一个tab的距离

--------------------------------------------

switch 语句

也是用来做分支的,与if不同,它只能做等值比较。

switch能完成的业务,if也可以完成。

语法:

switch(变量因子){

case 值1:

[code block;]

[break;]

case 值2:

[code block;]

[break;]

...

case 值N:

[code block;]

[break;]

[default:]

[code block;]

[break;]

}

注:

变量因子的类型有:

byte, char, short, int

枚举 【JDK5.0】

String 【JDK7.0】

案例:

提示用户从键盘输入年与月,输出此年此月最大多少天。

//提示:

java.util.Scanner

// 变量

====================

补充运算符

成员访问运算符

.

赋值运算符

=

算术运算符

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

比较运算符

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

逻辑运算符

&&, ||, !

位运算符

&按位与

|按位或

~按位取反

^按位异或

>>右移位 【高位补符号位, 0代表正数,1代表负数】

>>> 无符号右移位【高位总是补0】

<

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

如:

int i = 13;

int j = 12;

int result = i & j; // 12

进制:

二进制, 以 0 与 1组成

注:计算机中存储的数据都是以 二进制形式存在的。

JAVA中没有二进制的 字面量

八进制, 【0,7】

注:

JAVA中有8进制字面量,以0开头

如:

int i = 017; //ok, 相当于10进制的:15

十进制, [0,9]

10 > 2: 除2法

如:

i = 19; =》 10011

2 -> 10: 乘幂相加法

如:

假设有二进制字符串:1010110 , 它对应的10进制:86

十六进制【0,9A,Z]

注:JAVA中有16进制字面量,以0X或0x开头

如:

int i = 0x1F; //ok, 相当于10进制的 31

-------------

位运算符应用口决:

清0取位要用与,某位置1可用或;

若要取反与交换,轻轻松松用异或。

--

案例:

比如:给定任意整数,取出最后1位。

需要指定掩码[mask], 这个mask = 1即可。

int i = ...;

int mask = 1; //1

int result = i & mask; // 这样就可以获取整数i的最后1位。

同理,如果是取低3位呢? mask 应该是 7

mask = 7; // 111

--------------

~ 取反运算符是“破坏”性的取反,是针对所有位的。

int i = 5;

int j = ~i; //j = -6

如果采用异或,它的取反是可以针对“指定位”的

000000000... 0101

只要把 mask 置为 0XF[1111] 即可以把后4位取反。其它位不变

---------------------

交换:

定理:任一整数与另一整数连续异或2次,其值不变。

==============================

for循环

外层for循环执行一遍,内层for循环全部执行完毕

语法:

for(expression1;expression2;expression3){

//循环体

}

注:

expression1 表示循环初始化语句,只执行1次

expression2 表示循环条件判断语句,每循环1次,就执行1次

expression3 表示循环因子变化语句,每循环1次,就执行1次

以上三个表达式都可以省略,如:

for(;;){

// 死循环

}

如:循环10次

for(int i=0;i<10;i++){

System.out.println("i"+i);

}

或:

int i =0;

for(;i<10;i++){

System.out.println("i"+i);

}

==============

while 循环

语法:

while(条件表达式){

//循环体

}

注:

当条件表达式成立时,则执行循环体。然后再判断,依次类推。

如:

while(true){

// 死循环

}

==

如果能确定循环次数,优先使用 for

反之, 不确定循环数次,优先使用 while

--

如果使用while 循环10:

int i = 0;

while(i < 10){

System.out.println("i = "+i);

i ++;

}

--

案例:

循环产生随机数[1,100], 当生成的随机数刚好是50时,则退出循环,

次输出第几次生成了50.

如何生成随机数?

1).利用 java.util.Random 类

Random rd = new Random();

rd.方法();

注:1)import

2)创建对象

Code:

Random ran = new Random();

int n = ran.nextInt(100) + 1; //生成随机数

2).利用 Math 类中的 random 方法

Math.random();

1)返回的类型是double

2)范围是[0,1)

Code:

int n = (int)(Math.random()*100)+1;

---

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值