Javastudy_day002
1、 基本数据类型与基本输入输出与简易运算
| 基本数据类型 | 名称 |
|---|---|
| 整型 | byte、short、int、long |
| 浮点型 | float、double |
| 字符型 | char |
| 布尔型 | boolean |
| 类型 | 占用存储空间 | 范围 |
|---|---|---|
| byte | 一字节=8bit位 | -128~127 |
| short | 2字节 | -2^15~ 2^15-1 |
| int | 4字节 | -231~231-1 (约21亿) |
| long | 8字节 | -263~263-1 |
| 类型 | 占用存储空间 | 范围 |
|---|---|---|
| 单精度float | 4字节 | -3.403E38~3.403E38 |
| 双精度double | 8字节 | -1.798E308~1.798E308 |
| 类型 | 占用存储空间 |
|---|---|
| char | 2字节(一个字符=2字节) |
布尔型: boolean 只有true和false 两个值,进行逻辑运算和判断
1、自动类型提升:
结论:当容量小的数据类型的变量与容量大的数据类型的变量作运算时,结果自动提升为容量大的数据类型。
byte 、 char 、 short ---------->int ---------->long ---------->float ---------->double
特别的:当byte、char、short三种数据类型的变量作运算时,结果为int型
package com.day0001.contact;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
// System.out.println(in.nextLine());
int price;
System.out.print("请输入减数:");
price=in.nextInt();
//final int 定义不可变得常量
int amount=100;
System.out.print("请输入金额:");
amount=in.nextInt();
System.out.println(amount+"-"+price+"="+(amount-price));
//InputMismatch : 输入不匹配
}

2、英尺英寸与国际长度单位转换
package com.day0001.contact;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
int foot;//英尺
int inch;//英寸
Scanner in=new Scanner(System.in);
foot=in.nextInt();
inch=in.nextInt();//读入一个整数
double sum;
System.out.print("输入sum: ");
sum=in.nextDouble();//读入一个浮点数
System.out.println(sum+1);
System.out.print("输入sumagain: ");
sum=in.nextInt();//读入一个整数把他赋值给浮点数实现类型转换
System.out.println(sum+2);
System.out.print((foot+inch/12.0)*0.3048+" ");
//12.0浮点数计算
//double 浮点数类型
System.out.print((foot+(double)inch/12)*0.3048+" ");
//强制类型转换
System.out.print((foot+(double)inch/12)*0.3048*100+" ");
System.out.print((int)((foot+(double)inch/12)*0.3048*100));
}

3、判断条件1
package com.day0001.contact;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
//判断条件
Scanner in=new Scanner(System.in);
int amount1=in.nextInt();
System.out.println(amount1);
System.out.println(amount1>=100);
int amount2=in.nextInt();
System.out.println(amount2);
System.out.println(amount2<=25);
}
}

4、判断条件2
package com.day0001.contact;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
//判断条件
Scanner in=new Scanner(System.in);
double a=1.0;
double b=0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
System.out.println(a==b);
System.out.println("a="+a+"; b="+b);
//判断a和b的差的绝对值是否小于一个比较小的数
System.out.println(Math.abs(a-b)<1e-6);
}
}

5、猜数游戏
package com.day0001.contact;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
//猜数游戏
Scanner in=new Scanner(System.in);
//由计算机给出一个随机数
//Math.randoum()会给出一个[0,1)范围内的浮点数,
//int 强制类型转换在最外面保证结果为整型,否则即使做乘法也依然是浮点数
int number=(int)(Math.random()*100+1);//[0,1)--->[0,100)--->[1,100]
int count=0;
int amount;
System.out.println(number);
while(true)
{
amount=in.nextInt();
if(amount<number)
{
System.out.println("偏小");
count++;
}
else if(amount>number)
{
System.out.println("偏大");
count++;
}
else
{
count++;
System.out.println("找到了");
break;
}
}
}
}

6、素数问题
package com.day0001.contact;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
//素数查找
//素数:只能被1和自己整除的数,不包括1
Scanner in=new Scanner(System.in);
for(int n=1;n<=7;n++ )
{ boolean isPrime= true;
if(n==1)
{
System.out.println(n+"不是素数");
}
else
{//Math.sqrt()求平方根
//如果一个数的约数在其平方根的左边,则必然存在另一个对应的约数在其平方根的右边
for(int i=2;i<=Math.sqrt(n);i++)
{
if(n%i==0)
{
isPrime=false;
System.out.println(n+"不是素数"+Math.sqrt(n));
break;
}
}
if(isPrime)
{
System.out.println(n+"是素数"+Math.sqrt(n));
}
}
}
}
}

7、素数问题改进算法
package com.day0001.contact;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
//判断素数,改进算法
//已知:偶数中除了2以外都不是素数
boolean IsPrime=false;
for(int x=1;x<11;x++)
{
IsPrime=false;
if(x==1||(x%2==0&&x!=2))
{
System.out.println(x+"不是素数");
}
else
{//此处x为不含1的所有奇数和2
for(int i=3;i<=Math.sqrt(x);i=i+2) //循环判断出非素数
{//循环中不含x==2和x==3
//对奇数判断i用奇数即可
if(x%i==0)
{
IsPrime=true;
break;
}
}
if(IsPrime)
{
System.out.println(x+"不是素数");
}
else
{
System.out.println(x+"是素数");
}
}
}
}
}

浙公网安备 33010602011771号