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("两次密码不一致!");
  }
 }

}

 通过练习发现自己的不足,再接再厉!

 

 

 

 

 

 

 

原创粉丝点击