Day2
上课内容:
1.关键字:KeyWord 在高级编程语言里 被赋予特殊含义的单词
2.标识符:自定义的名称 变量 、函数(方法)、 类名 、包名
起名规则:
1)只能包含数字,字母,下划线_,美元符$,其中数字不能开头
2)严格区分大小写
3)必须是一个词 不能是true/false/null
4)标识符不能是保留字
起名规范:
1)变量名/函数名 小驼峰式书写规范 age myAge doSomething
除第一个单词之外 其他单词首字母大写
2)类名/接口名 大驼峰是书写 StudentName LoveYou
所有单词首字母大写
3)常量 所有字母大写 单词之间 加_ MAX_VALUE MY_AGE
4)包名 所有字母小写 单词之间用. com.baidu.www
尽量不要使用单个字母 或者没有含义的字母组合当成一个名称
a b c as asd asdf qwer
尽量起英文名称 实在不行拼音(教学)
3.变量:用于表示在程序中可能改变的值。
表示特定类型的数据。为了使用变量,可以通过高速编译器变量的名字及其可以存储的数据类型来声明该变量。变量声明告知编译器根据数据类型为变量分配合适的内存空间。每一个变量都有使用范围。变量的使用范围是指变量可以被引用到的程序的部分。变量被使用前,必须被声明和初始化。
注释:注解说明的文本 不属于代码 所以不会参与编译 更不会在字节码中出现
4.单行注释:// 注释内容
多行注释:/*
注释内容
*/
*文档注释:/*注释内容/
注释可以相互嵌套 除了多行嵌套多行
// //
// //
////
/* // */ X
5.调试代码 缩小错误范围
推荐 对于逻辑性较为复杂的程序而言
先写注释 - 思路
在写代码 - 一步一步实现
进制:计数方式 十进制 二进制 七进制 六十进制 二十四进制 三进制
常量:是指在程序中直接出现的数据->字面量
数字
整数 各种进制 在Java中 数字默认十进制 int
小数 直接小数 科学计数小数 double
布尔值
true false
字符
由一个符号被单引号’'所包含的数据
‘a’ ‘12’ X
’ ’
‘’ X
转义字符 \t \n \a \r
Unicode字符
字符集 ASCII Unicode gb2312 GBK UTF-8
Windows默认字符集ANSI
数字0~9 48~57
A~Z 65~90
a~z 97~122
字符串
由若干个字符被双引号"“包括的数据
“abc”
“a”
“‘a’”
“””"
“” 空串
变量:就是一个内存中的临时存储空间
变量的分配是由计算机随机分配的,物理地址不确定
为了方便找到变量 所以对该变量空间取名 变量名
变量空间里面只能存储同一类型的数据 分类数据->
数据类型:数据的分类 变量的大小(范围)
C gcc tc vc
基本数据类型
整型 byte bit 范围
byte 1字节 8位 -27~27-1 -128~127
short 2字节 16 -215~215-1 -32768~32767
int(常用) 4字节 32
long 8字节 64
浮点型 小数
float 4字节
double(常用) 8字节
字符型
char 2字节 16位 1~65536 将数字转化为字符型,将数字用括号括起来,给前面加个(char)
布尔型
boolean 不确定(争论)true false
bit byte 1
JVM 1->4字节 int
如何定义变量?
数据类型 变量名=常量;
引用数据类型
字符串
数组[]
对于全部高级编程语言而言,都有如下的基本程序结构(基本语法)
如何学?
1.长什么样?
2.什么时候使用?
关键字
标识符
注释
常量
变量
运算符
语句
函数
数组
面向对象…
6.整数运算(/)得到的结果是一个整数。
7.Java表达式中的数值操作符和算术表达式中的使用方法是完全一致的。
8.Java提供扩展赋值操作符:+=(加法赋值)、-=(减法赋值)、*=(乘法赋值)、/=(除法赋值)、%=(求余赋值)
9.自增操作符(++)和自减操作符(–)分别对变量加一或者减一。
10.可以使用(type)value这样的表示法显示地将数值从一个类型转换到另一个类型。
11.从控制台读取输入,使得程序可以从用户那里获得输入。Java使用System.out来表示标准输出设备,而用System.in来表示输入设备。默认情况下,输出设备是显示器,而输入设备是键盘。为了完成控制台输出,只需要使用println方法就可以在控制台上显示基本值或字符串。Java并不直接支持控制台输入,但是使用Scanner类创建它的对象,以读取来自System.in的输入。
如:Scanner input=new Scanner(System.in);
语法new Scanner(System.in)表明创建一个Scanner类型的对象。语法Scanner input声明input是一个Scanner对象,并且将它的引用值赋值给变量input。对象可以调用他自己的方法。调用对象的方法就是让这个对象完成某个任务。
课件代码:
Text 1:
将给定的钱数分成较小的货币单位。
import java.util.Scanner;
public class dome10 {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.println("请输入总钱数:");
int money=(int) (scanner.nextDouble()*100);
//将money转换为美分数
int dollar=money/100;
money=money%100;
int quarter=money/25;
money=money%25;
int dime=money/10;
money=money%10;
int nickel=money/5;
int penny=money%5;
System.out.println("dollar="+dollar);
System.out.println("quarter="+quarter);
System.out.println("dime="+dime);
System.out.println("penny="+penny);
}
}
运行结果:请输入总钱数:
11.56
dollar=11
quarter=2
dime=0
penny=1
Text2
显示当前时间:
package yy;
public class dome9 {
public static void main(String[] args){
long millis=System.currentTimeMillis();
long seconds=millis/1000;
long minutes=seconds/60;
long hours=minutes/60;
System.out.print(hours%24+8+":");//东八区+8
//当前分钟
System.out.print(minutes%60+":");//
System.out.print(seconds%60+":");
}
}
运行时间:16:0:54
Day2_1:
将摄氏温度转换为华氏温度。
package yy;
import java.util.Scanner;
public class Day2_1 {//IPO Input process Output
public static void main(String[] args){
//获取用户输入的摄氏温度
System.out.println("Enter a degree in Celsius:");
Scanner scanner=new Scanner(System.in);
//提示信息
double celcius=scanner.nextDouble();
//将摄氏温度转化成华氏温度
double fahrenheit=(9.0/5)*celcius+32;
//将华氏温度输出
System.out.print(celcius+"Celsius is"+fahrenheit+"Fahrenheit");
}
}
运行结果:Enter a degree in Celsius:
37
37.0Celsius is98.60000000000001Fahrenheit
Day2_2:
求圆柱的面积和体积
package yy;
import java.util.Scanner;
public class Day2_2 {
public static final double PI=3.1415926;
public static void main(String[] args){
//获取用户输入的半径和高
Scanner scanner=new Scanner(System.in);
//提示
System.out.println("enter the radius and length of a cylinder:");
double radius=scanner.nextDouble();
double length=scanner.nextDouble();
//先计算底面积后计算体积
double area=radius*radius*PI;
double volume=area*length;
//将面积体积输出
System.out.println("The area is:"+area);
System.out.println("The volume is:"+volume);
}
}
运行结果:enter the radius and length of a cylinder:
4 5
The area is:50.2654816
The volume is:251.327408
Day2_3:
读取一个0和1000之间的整数,并将该整数的各位数字相加。
package yy;
import java.util.Scanner;
public class Day2_3 {
public static void main(String[] args){
System.out.println("Enter a number between 0and 1000:");//获取用户输入的数字
Scanner scanner=new Scanner(System.in);
int number=scanner.nextInt();
int a=number%10;
number/=10;
int b=number%10;
number/=10;
int c=number%10;
System.out.println("The sum of the digit is"+(a+b+c));
}
}
运行结果:Enter a number between 0and 1000:
456
The sum of the digit is15
Day2_4:
输入分钟数计算这些分钟是多少年多少天
package yy;
import java.util.Scanner;
public class Day2_4 {
public static void main(String[] args){
//获取用户输入的分钟数
Scanner scanner=new Scanner(System.in);
//将从分钟数转化成天数年数
System.out.println("Enter a number of mnuites:");
int minutes=scanner.nextInt();
int days=minutes/60/24;
int years=days/365;
days=days%365;
System.out.println(minutes+"minutes is approximately"+years+"years and"+days+"days");
}
}
运行结果:Enter a number of mnuites:
1000000000
1000000000minutes is approximately1902years and214days
Day2_5:
显示当前格林威治时间
package yy;
public class Day2_5 {
public static void main(String[] args){
long millis=System.currentTimeMillis();
long seconds=millis/1000;
long minutes=seconds/60;
long hours=minutes/60;
System.out.print(hours%24+8+":");//东八区+8
//当前分钟
System.out.print(minutes%60+":");//
System.out.print(seconds%60);
}
}
运行时间:16:14:29
Day2_6:
水从初始温度加热到最终温度所需的能量。
package yy;
import java.util.Scanner;
public class Day2_6 {
public static void main(String[] args){
//输入水的重量 初始温度 最终温度
Scanner scanner=new Scanner(System.in);
//根据公式计算能量
//输出能量值
System.out.println("Enter the amount of water in koligrams");
double weight=scanner.nextDouble();
System.out.println("Enter the inital temperature");
double initalTemp=scanner.nextDouble();
System.out.println("Enter the final temperatyre");
double finalTemp=scanner.nextDouble();
double energy=weight*(finalTemp-initalTemp)*4184;
System.out.println("The energy needed is:"+energy);
}
}
运行结果:Enter the amount of water in koligrams
23
Enter the inital temperature
12
Enter the final temperatyre
87
The energy needed is:7217400.0
Day2_7:
每月向银行账户存100美元,年利率为5%。
package yy;
public class Day2_7 {
public static void main(String[] args){
double money=100;//本金
double rate=5.0/100/12;//月利率
//第一个月
System.out.println("Enter the monthly saving amount:"+money);
money=money*(1+rate);
money=(money+100)*(1+rate);
money=(money+100)*(1+rate);
money=(money+100)*(1+rate);
money=(money+100)*(1+rate);
money=(money+100)*(1+rate);
System.out.println("After the six month,the account value is"+money);
}
}
运行结果:Enter the monthly saving amount:100.0
After the six month,the account value is608.811017705596
Day2_8:
输入两个点,显示两点间的距离。
package yy;
import java.util.Scanner;
public class Day2_8 {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.println("Enter x1 and y1");
double x1=scanner.nextDouble();
double y1=scanner.nextDouble();
System.out.println("Enter x2 and y2");
double x2=scanner.nextDouble();
double y2=scanner.nextDouble();
double deltX=x2-x1;
double deltY=y2-y1;
//Math.pow(2,3) 2^3
//Math.pow(4,0.5) Math.sqrt()
double distance=Math.sqrt(Math.pow(deltX,2))+Math.pow(deltY, 2);
System.out.println(distance);
}
}
运行结果;Enter x1 and y1
1 2 3 4
Enter x2 and y2
6.0
Day2_9:
输入六边形的边长,显示它的面积。
package yy;
import java.util.Scanner;
public class Day2_9 {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.println("Enter the side:");
double side=scanner.nextDouble();
double area=3*Math.sqrt(3)/2*Math.pow(side, 2);
System.out.println("The area of the hexahon is"+area);
}
}
运行结果:Enter the side:
23
The area of the hexahon is1374.3823158059042
Day2_10:
计算寒冷程度:
package yy;
import java.util.Scanner;
public class Day2_10 {
public static void main(String[] args){
//输入华氏温度 风速
Scanner scanner=new Scanner(System.in);
System.out.println("Enter the temperature in Fahrenheit between -58°F and 41°F:");
double fahrenheit=scanner.nextDouble();
System.out.println("Enter the wind speed(>=2) in miles per hour:");
double speed=scanner.nextDouble();
double windChill=35.74+0.6217*fahrenheit-35.75*Math.pow(speed, 0.16)+0.4275*fahrenheit*Math.pow(speed, 0.16);
System.out.println(windChill);//根据风速计算室外风寒温度
}
}
运行结果:Enter the temperature in Fahrenheit between -58°F and 41°F:
34
Enter the wind speed(>=2) in miles per hour:
4
30.39446740505231
Day2_11:
输入三角形的三个点(x1,y1)
package yy;
import java.util.Scanner;
public class Day2_11 {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
//输入三个坐标
System.out.println("Enter three points for a triangle:");
double x1=scanner.nextDouble();
double y1=scanner.nextDouble();
double x2=scanner.nextDouble();
double y2=scanner.nextDouble();
double x3=scanner.nextDouble();
double y3=scanner.nextDouble();
//根据坐标求三边
double sideA=Math.sqrt(Math.pow(x1-x2, 2)+Math.pow(y1-y2, 2));
double sideB=Math.sqrt(Math.pow(x1-x3, 2)+Math.pow(y1-y3, 2));
double sideC=Math.sqrt(Math.pow(x2-x3, 2)+Math.pow(y2-y3, 2));
double s=(sideA+sideB+sideC)/2;
double area=Math.sqrt(s*(s-sideA)*(s-sideB)*(s-sideC));
System.out.println('b'+1);
}
}
运行结果:Enter three points for a triangle:
1 2 3 4 5 6
99