目录

一,三种随机数

第一种:new Random()

第二种:Math.random()

第三种:currentTimeMillis() 

二,Scanner

三,三种基本流程结构 

顺序结构

分支结构

循环结构

if简单语法结构

else if语法结构

switch语法结构

循环结构四个要素

for   

while 

   do while

   四,位运算符

五,三种交换数值的方式


一,三种随机数

第一种:new Random()

导包: import java.util.Randow

这种需要借助java.util.Random类来产生一个随机数发生器,也是最常用的一种,构造函数有两个,Random()和Random(long seed)。第一个就是以当前时间为默认种子,第二个是以指定的种子值进行。产生之后,借助不同的语句产生不同类型的数。

其中,种子就是产生随机数的第一次使用值,机制是通过一个函数,将这个种子的值转化为随机数空间中的某一个点上,并且产生的随机数均匀的散布在空间中。以后产生的随机数都与前一个随机数有关。这里以代码为例。

public static void main(String[] args)
{
  Random r = new Random(1);
  for(int i=0 ; i<5 ; i++)
  {
    int ran1 = r.nextInt(100);
    System.out.println(ran1);//可以产生五个在【0,100)中的整数
  }
}

第二种:Math.random()

这种方法返回的数值是[0.0,1.0)的double型数值,由于double类数的精度很高,可以在一定程度下看做随机数,借助(int)来进行类型转换就可以得到整数随机数了,代码如下。

public static void main(String[] args)
{
    int max=100,min=1;
    int ran2 = (int) (Math.random()*(max-min)+min);
    System.out.println(ran2);//返回值的范围【1,100);
}

第三种:currentTimeMillis() 

public static void main(String[] args)
{
    int max=100,min=1;
    long randomNum = System.currentTimeMillis();
    int ran3 = (int) (randomNum%(max-min)+min);
    System.out.println(ran3);
}

long型的毫秒数,取模之后即可得到所需范围内的随机数。

二,Scanner

从键盘获取不同变量的类型

步骤如下

1,导包: import java.util.Scanner;

2,Scanner的实例化 :Scanner scan = new Scanner(System.in);

3,调用Scanner类的相关方法(next()/ nextXxx()),来获取指定类型的变量;

例如:

import java.util.Scanner;

class Test{
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);

		System.out.println("姓名");
		String name = scan.next();
		System.out.println(name);
    }
}

三,三种基本流程结构 

顺序结构

分支结构

循环结构

if简单语法结构

注意:if语句的大括号可以不写,但是如果不写,这个if只能控制一行代码。

if(判断条件){

//满足 判断条件(true),就执行此大括号里面的内容

}

if(判断条件){

//满足 判断条件(true),就执行此大括号里面的内容

}

注意:没有写在一起的if结构相互之间,不互斥

else if语法结构

if(判断条件A){

//满足 判断条件A(true),就执行此大括号里面的内容,后面的else-if不执行

}else if(判断条件B){

//满足 判断条件B(true),就执行此大括号里面的内容

}

switch语法结构

switch结构中的表达式,只能是如下六种类型之一

byte,short,char,int,枚举类型,String类型

switch(x){//x是 变量或者一个表达式:该值的类型,java规定的类型

case 变量的可能值1: 功能语句;break;

case 变量的可能值2: 功能语句;break;

case 变量的可能值3: 功能语句;break;

default :功能语句;break;(最后这个break可有可无)

注意:

1. case后面的值应该和变量的类型一致;

2. 执行顺序,是先依次找完所有的case值进行匹配,如果都不匹配才会执行default

3. case的顺序(包括default) 可以是任意的,但是建议先按照case的值的大小顺序排列,default放最后

4. break的作用,结束当前的这个switch结构

循环结构四个要素

初始化条件

循环条件-->是Boolean类型

循环体

迭代条件

for   

for(初始A;条件判断B;循环后操作C){

//循环体C

}

//可以多层循环嵌套,外层循环控制层数,内层循环控制列数

while 

while(条件(布尔类型的)){

// 循环体具体做什么事情

}

   do while

do{

//循环体具体做什么事情

}while(条件)

//不常用

   四,位运算符

<<左移 

>>右移

>>>无符号右移

针对二进制位

说明:

1,正数左移右移那0补,负数左移右移那1补

无符号右移 无论正数负数全拿0补

且缺几个补几个

2,在一定范围内,每向左移一位,相当于 * 2;

在一定范围内,每向右移一位,相当于 / 2;

& 与

| 或

^ 异或

~ 取反 

五,三种交换数值的方式

1引入一个量

int t = a;
    a = b;
    b = t;

2.

a = a+b;
    b = a-b;
    a = a-b;

3.使用位运算符

a = a ^ b;
b = a ^ b;
a = a ^ b;

Java 生成种子文件 java生存种子_其他

 加油!