Javastudy_day002

1、 基本数据类型与基本输入输出与简易运算

基本数据类型名称
整型byte、short、int、long
浮点型float、double
字符型char
布尔型boolean
类型占用存储空间范围
byte一字节=8bit位-128~127
short2字节-2^15~ 2^15-1
int4字节-231~231-1 (约21亿)
long8字节-263~263-1
类型占用存储空间范围
单精度float4字节-3.403E38~3.403E38
双精度double8字节-1.798E308~1.798E308
类型占用存储空间
char2字节(一个字符=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+"是素数");	
    	    }
    	}
      } 
    }
  }

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java中,可以使用Stream流进行排序操作。根据提供的引用内容,有几种不同的排序方式。 1. 如果要对一个List集合中的元素按照某个属性进行正序排序,可以使用`sorted`方法和`Comparator.comparing`方法。例如,如果有一个`List<User>`的集合,要按照年龄正序排序,可以使用以下代码: ```java resultList.stream().sorted(Comparator.comparing(User::getAge)).collect(Collectors.toList()); ``` 这里的`User::getAge`表示按照User对象的年龄属性进行排序。123 #### 引用[.reference_title] - *1* [【Java】List集合对象排序方式 - Java8stream流排序](https://blog.csdn.net/qq_42285585/article/details/124987771)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *2* [Java Stream排序](https://blog.csdn.net/studyday1/article/details/127870086)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *3* [Java stream排序](https://blog.csdn.net/weixin_41722928/article/details/111993964)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值