Java学习第二天
来源:互联网 发布:众人匹之 不亦悲乎 编辑:程序博客网 时间:2024/06/15 12:30
Java学习第二天:
第一天的内容回顾:
JDK:
(1)提供了调用的基础库类
(2)提供了工具
javac 编译程序
java 运行程序
(3)JVM java虚拟机(兼容各种操作系统)
很多IDE 类似eclipse 内部会集成JDK
如何在操作系统的任何路径下都使用JDK提供的“资源”?
需要配置环境变量
1)声明一个变量,存放JDK的安装路径
JAVA_HOME
2)classpath (系统类的路径)使用JAVA_HOME存放的路径
3)path (工具的路径)
编程的过程就是给电脑下指令的过程
编写.java
编译.java->.class
运行.class
java程序的基本框架
public class FirstJava{
public static void mian(String[] args){
System.out.println("输出的内容");
}
}
包:文件夹 用来组织类文件的
命名规则:域名.公司名.项目名.存放的内容命名
变量:
数据类型:指定内存空间大小 字节数
变量名:内存空间的地址 本质上是二进制
变量的值:存放的内容 装换为二进制来存储
int age=20;
数据类型:
1、基本数据类型8个
byte 1字节
short 2字节
int 4字节
long 8字节
float 4字节
double 8字节
boolean 1字节或4字节
char 2字节
什么是字节?
字节是使用的最小单位
一字节等于八位
类型转换的问题:
1、自动类型转换:当字节数小的数据类型赋值给字节数大的数据类型时
2、强制类型转换:大空间的类型往小空间的类型赋值时发生
数据会失去精度
(目标类型)变量
注意:同类型相互转换
double d1=3.123456789;
float f1=(float)d1;
Demo.java
package cn.qc.javaproject1706.day2;
public class Demo {
public static void main(String[] args){
//自动类型转换,无需额外写代码处理
byte age=20;
int stuAge=age;
//输出学生的姓名
System.out.println("stuAge="+stuAge);
//如下情况是否可行?
char sex='男';
//自动转换类型最好要在同类型的数据间进行
int testSex=sex;
System.out.println("testSex="+testSex);
double doubleTest=1.23456789123;
System.out.println("强制装换前,doubleTest="+doubleTest);
float floatTest=(float)doubleTest;
System.out.println("强制转换后,floatTest="+floatTest);
//int 赋值给float类型时 会自动类型转换
float f1=123;
//float赋值给int类型时需要强制类型转换
//float的级别高于int
int int1=(int)f1;
}
}
今日内容:
1、类型转换
2、运算符
算术运算符
比较运算符
逻辑运算符
赋值运算符
算术运算符:+ — * / %(模运算)取余
优先级别:有()先算()里的,再算 * / % 最后算 + -
见代码Demo2.java
package cn.qc.javaproject1706.day2;
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args){
//接收用户从控制台(Console)输入的数据,使用Scanner
//1需要导入import java.utill.Scanner;
//2需要如下做法,input可以随意命名
Scanner input=new Scanner(System.in);
//提示用户,输入第一个数
System.out.println("请输入第一个数:");
//使用input来接收用户输入的数字
int num1=input.nextInt();
//提示用户输入第二个数
System.out.println("请输入第二个数:");
int num2=input.nextInt();
//num1和num2进行加法运算
int result=num1+num2;
System.out.println("加法计算结果为:"+result);
int result2=num1-num2;
System.out.println("减法计算结果为"+result2);
int result3=num1*num2;
System.out.println("乘法的计算结果为:"+result3);
int result4=num1/num2;
System.out.println("除法计算结果为:"+result4);
//由于参与除法的计算的值是int类型,所以计算结果也为int类型
//%模运算,取余运算,计算两个数除后的余数
int result5=num1%num2;
System.out.println("运算结果为:"+result5);
System.out.println("....................");
System.out.println("请输入一个小数");
float f1=input.nextFloat();
System.out.println("请输入另一个小数");
float f2=input.nextFloat();
float result6=f1/f2;
//int类型/int类型结果还是int类型
//int类型/float类型结果还是float类型
//float类型/int类型结果还是float类型
System.out.println("除的结果为:"+result6);
}
}
Import 导入
比较运算符:比较大小 > >= < <= == != 比较运算符的计算结果是布尔值(true & false)
见代码Demo3.java
package cn.qc.javaproject1706.day2;
import java.util.Scanner;
public class Demo3 {
public static void main(String[] args){
//创建Scanner的对象
Scanner ip=new Scanner(System.in);
System.out.println("请输入要比较的第一个数");
int num1=ip.nextInt();
System.out.println("请输入要比较的第二个数");
int num2=ip.nextInt();
//比较>成立 结果true 结果不成立 false
boolean ret=num1>num2;
System.out.println(num1+">"+num2+"结果为:"+ret);
System.out.println("---------------------");
System.out.println("请输入你的年龄");
int age=ip.nextInt();
if(age>18){
//{}里面的代码在()里的条件计算结果为true才执行
System.out.println("你符合录用的年龄需求");
}
}
}
条件判断
当满足条件 结果为true时 执行一段代码
不满足条件时 不执行代码
if(条件){
执行的代码
}
代码执行的顺序是从上至下的执行
练习1:
从控制台接收输入的两个数
再接收一个运算符 根据输入的运算符做相应的运算
输出计算结果
Ex1.java
package cn.qc.javaproject1706.day2;
import java.util.Scanner;
public class Ex1 {
public static void main(String[] args){
Scanner ip=new Scanner(System.in);
System.out.println("请输入第一个数");
int num1=ip.nextInt();
System.out.println("请输入第二个数");
int num2=ip.nextInt();
System.out.println("请输入一个运算符");
char oper=ip.next().charAt(0);
int ret=0;
//使用比较运算符去判断oper的值
if(oper=='+'){
ret=num1+num2;
}
if(oper=='-'){
ret=num1-num2;
}
if(oper=='*'){
ret=num1*num2;
}
if(oper=='/'){
ret=num1/num2;
}
System.out.println("计算结果为:"+ret);
}
}
练习2:
输入三门课程的成绩,输出总分和平均分。
Ex2.java
package cn.qc.javaproject1706.day2;
import java.util.Scanner;
public class Ex2 {
public static void main(String[] args){
Scanner ip=new Scanner(System.in);
System.out.println("请输入第一门课程的分数");
int score1=ip.nextInt();
System.out.println("请输入第二门课程的分数");
int score2=ip.nextInt();
System.out.println("请输入第三门课程的分数");
int score3=ip.nextInt();
int sum=score1+score2+score3;
float avg=sum/3.0f;
System.out.println("输出总分为:"+sum+",输出的平均分为:"+avg);
ip.close();
}
}
练习3:
计算显示学生数据的总页数
要求,录入学生总数,每页显示的学生数量
输出:共需要多少页
Ex3.java
package cn.qc.javaproject1706.day2;
import java.util.Scanner;
public class Ex3 {
public static void main(String[] args){
Scanner ip=new Scanner(System.in);
System.out.println("请输入学生的总数:");
int totalnum=ip.nextInt();
System.out.println("请输入每页显示学生的数量:");
int num=ip.nextInt();
//看num1/num2是否能整除 能输出 不能则加1
int ret=totalnum%num;
int totalpage=totalnum/num;
if(ret !=0){
totalpage=totalpage+1;
}
System.out.println("共需要"+totalpage+"页");
ip.close();
}
}
练习4:
计算男生寝室的需求数量
寝室有两种类型,每种的床位数不同
第一种有四铺位,第二种有两铺位
要求:
输入男生总数
输入两种寝室的铺位数
计算需要多少个寝室(优先排铺位数多的寝室)
Ex4.java
package cn.qc.javaproject1706.day2;
import java.util.Scanner;
public class Ex4 {
public static void main(String[] args){
Scanner ip=new Scanner(System.in);
System.out.println("请输入男生总数:");
int num=ip.nextInt();
System.out.println("输入4人寝室的数量:");
int room1=ip.nextInt();
System.out.println("输入2人寝室的数量:");
int room2=ip.nextInt();
//比较哪种寝室的床铺为多优先排这种寝室
int room1Num=0;
int room2Num=0;
room1Num=num/4;
if(room1Num>room1){
room1Num=room1;
int stuNum=num-4*room1;
room2Num=stuNum/2;
}
System.out.println("需要四人间寝室"+room1Num+"个寝室"+",需要二人间寝室"+room2Num+"个寝室");
ip.close();
}
}
三目运算符 三元运算符
表达式1?表达式2:表达式3
以上表达式的计算结果是:
看表达式1的结果是否是true 若是,则整个计算结果就是表达式2的结果
看表达式1的结果是否是false 若是,则整个计算结果就是表达式3的结果
见代码Demo4.java
package cn.qc.javaproject1706.day2;
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args){
Scanner ip=new Scanner(System.in);
//平均薪资
float avgSalary=3200f;
System.out.println("请输入你的薪资:");
float ipSalary=ip.nextFloat();
float newSalary=
ipSalary>avgSalary?ipSalary+500:ipSalary+1000;
System.out.println("加薪后的薪资为;"+newSalary);
}
}
练习5:
输入一个数量(人数),能否被4整除
是的话,就是除的结果
否的话,除的结果+1
Ex5.java
package cn.qc.javaproject1706.day2;
import java.util.Scanner;
public class Ex5 {
public static void main(String[] args){
//创建对象
Scanner ip=new Scanner(System.in);
System.out.println("请输入学生数量");
int num=ip.nextInt();
int roomNum=num%4==0?num/4:num/4+1;
System.out.println("需要四人寝室的数量为:"+roomNum);
ip.close();
}
}
练习6:
请输入你的考试分数如果你>=60 输出你很棒!
如果<60 输出你要加油!
String 字符串
Ex6.java
package cn.qc.javaproject1706.day2;
import java.util.Scanner;
public class Ex6 {
public static void main(String[] args){
String meg="";
Scanner ip=new Scanner(System.in);
System.out.println("请输入你的考试成绩");
int score=ip.nextInt();
meg=score>=60?"你很棒!":"你要加油了!";
System.out.println("meg="+meg);
}
}
在Java中使用""里面的值叫做字符串
字符串:使用""引起来的多个字符(可以是0到多个)
字符串属于引用类型
功能需求:
输入两次密码,然后程序判断两次密码是否一致
使用字符串比较
见Demo5.java
package cn.qc.javaproject1706.day2;
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args){
//创建Scanner类的对象
Scanner ip=new Scanner(System.in);
System.out.println("请输入密码:");
String password=ip.next();
System.out.println("请输入确认密码:");
String rePwd=ip.next();
//判断两次输入的密码是否一致
//引用类型判断值是否正确不能使用==
//判断引用类型的值是否相等,使用equals()
if(rePwd.equals(password)){
System.out.println("输入正确!");
}else{
System.out.println("两次密码不一致!");
}
}
}
通过练习发现自己的不足,再接再厉!
- java学习第二天
- Java学习第二天
- 学习Java第二天
- java学习第二天
- Java学习第二天
- 学习JAVA第二天。
- Java学习第二天
- JAVA学习第二天
- java学习第二天
- JAVA 学习第二天
- JAVA学习第二天
- 学习Java第二天
- JAVA学习第二天
- JAVA学习第二天
- java学习第二天
- JAVA学习 第二天
- Java学习第二天
- JAVA学习第二天
- python中关于round函数的小坑
- websocket
- 个人主页登陆界面
- Js学习之路四 --- 提取事件、匿名函数、数组
- linux 环境变量设置
- Java学习第二天
- wpf中如何将窗口设置为透明
- c# 命令行操作数据库并将数据导出到csv
- SpringMVC的注解
- C#结构体+结构体与类的区别
- IOS-TableView里面cell的显示动画
- SPOJ 694 后缀数组
- 堆的概念以及实现堆
- 自己实现一个Native方法的调用