一、 实验目的及要求
目的:
(1) 掌握各种变量的声明方式
(2) 掌握Java的基本数据类型、运算符与表达式的使用方法。
(3) 理解Java的程序语法结构,掌握顺序结构、选择结构程序设计方法。
(4) 通过以上内容,掌握Java语言的编程规则。
要求:
(1)编写一个声明Java不同数据类型变量的程序
(2)编写使用运算符、表达式和变量的程序
(3)编写使用选择结构的程序
二、实验内容与步骤

  1. 编写一个程序,要求将一个浮点数强制转化成整型后再输出。
  2. 编写程序,从键盘输入a、b、c的值,计算下列表达式(-b+√(b^2-4ac))/2a(开根用Math.sqrt()方法)
  3. 选择结构练习
    (1)使用if-else语句
    定义一个学生的JAVA成绩为n(0到100的整数),编写一个程序输出这个学生成绩的等级,比如76为“中”。(A:>=90;B:>=80;C:>=70;D:>=60;F:<60)。
    (2)设 int year,month,day 分别表示一个日期中的年月日,试编程求
    a对于任意三个整数,判断其是否为一个合法的日期值。
    b给定一个日期值,计算若干天后的日期值(选做)
    c如果有两个日期值,计算他们相距的天数(选做)
package com.xzj.day01;/*** @author xuzhijie* @create 2022-04-07 20:49*/
import java.util.Scanner;public class Test01 {public static void main(String[] args) {System.out.println("java实验二:");System.out.println("1:输入浮点数转化成整型");System.out.println("2:输入a,b,c的值,打印出表达式的值");System.out.println("3:输入学生成绩,打印出学生成绩等级");System.out.println("4:对于任意三个整数,判断其是否为一个合法的日期值");System.out.println("5:给定一个日期值,计算若干天后的日期值");System.out.println("6:如果有两个日期值,计算他们相距的天数");System.out.println("请输入要执行的题目:");Scanner sc = null;sc = new Scanner(System.in);int ren = sc.nextInt();if(ren == 1)TestA();if(ren == 2)TestB();if(ren == 3)TestC();if(ren == 4)TestD();if(ren == 5)TestE();if(ren == 6)TestF();}public static void TestA(){System.out.println("请输入一个浮点数:");Scanner sca01 = new Scanner(System.in);double d1 = sca01.nextFloat();System.out.println((int)d1);}public static void TestB(){System.out.println("请输入你的成绩:");Scanner sca02 = new Scanner(System.in);int result = sca02.nextInt();if(result > 100 || result <0){System.out.println("您输入的成绩有误");}else if(result >= 90){System.out.println("您输入的成绩为:A");}else if(result >= 80){System.out.println("您输入的成绩为:B");}else if(result >= 70){System.out.println("您输入的成绩为:C");}else if(result >= 60){System.out.println("您输入的成绩为:D");}else{System.out.println("您输入的成绩为:F");}}public static void TestC(){System.out.println("请输入三个数:");Scanner sca03 = new Scanner(System.in);int a = sca03.nextInt();int b = sca03.nextInt();int c = sca03.nextInt();double result = b * b - 4 * a * c;double radical = Math.sqrt(result);double formula = (-b + radical) / (2 * a);System.out.println("当a=" + a + ",当b=" + b + ",当c=" + c + ",时表达式的值为: "+formula);}public static void TestD(){System.out.println("请输入三个整数:");Scanner sca03 = new Scanner(System.in);int year = sca03.nextInt();int month = sca03.nextInt();int day = sca03.nextInt();boolean isTrue = false;boolean isLeapYear = false;if(year%400==0||year%4==0&&year%100!=0) {isLeapYear = true;}else {isLeapYear = false;}if(year>0){if(month>=1&&month<=12){if(month==4||month==6||month==9||month==11){if(day>0&&day<31){isTrue = true;}}else if(month==2){int FebruaryDays = 28+(isLeapYear==true?1:0);if(day>0&&day<=FebruaryDays){isTrue = true;}}else{if(day>0&&day<32){isTrue = true;}}}}if(isTrue){System.out.println("这个日期是合法日期");}else{System.out.println("这个日期不是合法日期");}}public static void TestE(){System.out.println("请输入日期:");Scanner sc = new Scanner(System.in);int year = sc.nextInt();int month = sc.nextInt();int day = sc.nextInt();System.out.println("请输入几天后:");int day01 = sc.nextInt();int data = day + day01;while(data>31){if(month==4||month==6||month==9||month==12){if(data<30){day = data;}else {month++;data = data - 30;}}else if(month==2){if(year%400==0||year%4==0&&year%100!=0){if(data <29){day = data;}else{month++;data = data - 29;}}else{if(data<28){day = data;}else{month++;data = data - 28;}}}else{month++;data = data - 31;}if(month==12){year++;month = 1;}}if(month==4||month==6||month==8){if(data==30){month++;}if(data==31){month++;day++;}if(data>=1&&data<=30)day = data;}else if(month==2){if(year%400==0||year%4==0&&year%100!=0){if(data>=29){month++;day = day + (data-29);}elseday = data;}else{if(data>=28){month++;day = day + (data-28);}elseday = data;}}else if(month==12){if(data>=30){month = 1;year++;}elseday = data;}else{if(data==31){month++;day = 1;}elseday = data;}System.out.println("该几天后的日期为:" + year + "年" + month + "月" + day + "日");}public static void TestF(){Scanner sc = new Scanner(System.in);int sum = 0,sumyear = 0,summonth = 0,sumday = 0;System.out.println("请输入第一个日期(年份较大的那一个):");int year01 = sc.nextInt();int month01 = sc.nextInt();int day01 = sc.nextInt();System.out.println("请输入第二个日期(年份较小的那一个):");int year02 = sc.nextInt();int month02 = sc.nextInt();int day02 = sc.nextInt();for(int i=year02;i<year01;i++){if(i%4==0&&i%100!=0||i%400==0){sumyear = sumyear + 366;}elsesumyear = sumyear +365;}int demo = -1;if(month01>=month02){demo = 1;}if(month02>month01){int t = month01;month01 = month02;month02 = t;demo =-1;}for(int j=month02;j<month01;j++){if(j==4||j==6||j==9||j==11){summonth = summonth + 30*demo;}else if(j==2){if(year02%4==0&&year02%100!=0||year02%400==0){summonth = summonth + 29*demo;}elsesummonth = summonth + 28*demo;}elsesummonth = summonth + 31*demo;}sumday = day01 -day02;sum = sumyear + summonth + sumday;System.out.println("这两年之间差" + sum + "天");}
}

实验二 Java基础语法练习-基本数据类型、运算符与表达式、选择结构相关推荐

  1. 02 Java基础语法(变量+数据类型+运算符)

    Java基础语法 2 基础语法 2.1 二进制(复习总结) 进制转换(二进制 八进制 十进制 十六进制) 2.2 变量 2.2.1 变量定义 2.2.2 使用变量 2.2.3 声明变量的3种方式 2. ...

  2. Java基础语法(三)——运算符

    文章目录 Java基础语法(三)--运算符 一.算术运算符 1.基本四则运算符 (1)练习 (2)注意事项 2.复合运算符 3.自增自减操作符 二.关系运算符 三.逻辑操作符 1.逻辑与&&a ...

  3. Java基础语法-关键字、数据类型

    JRE.JDK.JVM Java基础语法 注释.标识符.关键字 标识符注意点 所有标识符都应该以字母(A-Z 或者a-z),美元符($).或者下划线(_)开始 首字符之后可以是字母(A-Z 或者a-z ...

  4. java冰法_Java基础学习笔记二 Java基础语法

    注释 注释用来解释和说明程序的文字,注释是不会被执行的. 单行注释 //这是一条单行注释 public int i; 多行注释 /*这是 * 一段注释, * 它跨越了多个行*/ public void ...

  5. Java基础语法之变量、运算符、流程控制、数组和方法等基础语法

    变量.运算符.流程控制.数组和方法等基础语法.Java程序的执行流程,符合Java语法规则的程序. 1.1.1 Java初识 对Java进行简单介绍,Java程序如何执行,以及Java程序的结构. J ...

  6. JavaSE_第2章 Java基础语法

    JavaSE_第2章 Java基础语法 今日内容 数据类型 运算符 学习目标 了解进制 理解基本数据类型的自动类型转换 理解基本数据类型的强制类型转换 了解ASCII编码表和Unicode编码表 理解 ...

  7. Java基础语法(二)——数据类型

    文章目录 Java基础语法(二)--数据类型 一.int 整型类型 1.基本语法格式 2.数值范围 3.未定义时变量的默认初始值 4.注意事项 二. long 长整型类型 1.基本语法格式 2.数值范 ...

  8. 实验二 php基本语法1,实验二PHP基础.doc

    实验二PHP基础 实验二 PHP基础(一) 一.实验目的 1.掌握PHP语法基本元素,掌握数据类型.变量和常量.运算符.表达式的使用. 2.掌握PHP流程控制. 3.掌握在Html和PHP命令标记相结 ...

  9. java基本语句回文数实验_实验二 java基本数据类型与把持语句.doc

    实验二 java基本数据类型与把持语句.doc 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 5System.out.println(num ...

最新文章

  1. JavaScript:再谈Tasks和Microtasks
  2. 边缘计算架构_多接入边缘计算框架与参考架构简介
  3. c语言中错误executing,C语言编程中常见问题解读.doc
  4. Oracle数据库知识小结
  5. ExtJS4.2学习(10)分组表格控件--GroupingGrid
  6. spring图片转视频_一直在用的 Spring,你知道它的加载原理吗?
  7. android开发之shape详解
  8. Qt中Tcp通信的简单使用二
  9. ROS系统MoveIt玩转双臂机器人系列(二)--生成MoveIt配置包
  10. curl_setopt函数相关应用及介绍
  11. My first App Encrypt Wheel is Ready to Download!
  12. linux 计算cpu利用率
  13. 超简单安装油猴(tampermonkey)脚本及使用教程
  14. GHOST系统封装详细图文教程完整版(二)
  15. Linux共享内存使用常见陷阱与分析
  16. python调用不起来chrome_python调用selenium打开chrome浏览器失败
  17. 15 款精致mac应用
  18. 计算机网络进阶 ---- 网络类型 ---- 二层封装协议 ---- HDLC ---- PPP ---- pap认证 ---- chap认证 ---- 详解
  19. 一次关于 Dubbo 服务 IP 注册错误的踩坑经历
  20. uniapp GPS定位功能的实现

热门文章

  1. wince槛外人窥探--存储布局
  2. 微信小程序出现报错:Uncaught ReferenceError: __g is not defined
  3. python零基础自学英语软件下载_GitHub - geniux-TI/codeparkshare: Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...
  4. TT语音不灵了,母公司趣丸半年巨亏近10亿,押注电竞能否助推IPO?
  5. Qt开发串口通信以及坐标显示程序并移植
  6. WordPress树叶飘落特效插件1.2
  7. 计算机优化英语课堂教学,巧用平板,让课堂不平凡———平板电脑在小学中年级段英语课堂教学中的应用...
  8. NFT/Web3/区块链项目孵化包装策划,到底该自建运营还是专业外包孵化?
  9. Flutter _ 状态管理指南篇,Android开发两年
  10. 【SpringBoot】Error creating bean with name ‘methodValidationPostProcessor‘ defined in class path reso