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);
int price;
System.out.print("请输入减数:");
price=in.nextInt();
int amount=100;
System.out.print("请输入金额:");
amount=in.nextInt();
System.out.println(amount+"-"+price+"="+(amount-price));
}
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+" ");
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);
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);
int number=(int)(Math.random()*100+1);
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) {
Scanner in=new Scanner(System.in);
for(int n=1;n<=7;n++ )
{ boolean isPrime= true;
if(n==1)
{
System.out.println(n+"不是素数");
}
else
{
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);
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
{
for(int i=3;i<=Math.sqrt(x);i=i+2)
{
if(x%i==0)
{
IsPrime=true;
break;
}
}
if(IsPrime)
{
System.out.println(x+"不是素数");
}
else
{
System.out.println(x+"是素数");
}
}
}
}
}