Java基础 记录自己第二章 基本程序设计

Java

本博客仅用于记录自己学习,为其他人学习提供便利,如有不对,欢迎指正
文内主要参考java core 10 卷I 卷II,java语言程序设计 基础版 进阶版

学习目标

  1. 编写Java程序完成简单的计算
  2. 使用Scanner类从控制台获取输入
  3. 使用标识符命名变量常亮方法和类
  4. 使用变量存储数据
  5. 使用赋值语句和表达式编写程序
  6. 使用常亮存储永久数据
  7. 按照命名习惯命名类方法和常亮
  8. 熟悉java的基本数据类型
  9. 从键盘读入基本数据类型的值
  10. 使用二元运算符
  11. 使用Math类的 pow静态方法进行幂运算
  12. 编写整数字面值浮点数字面值的科学表达式
  13. 编写数值计算表达式
  14. 使用System.currnetTimeMillis()获取当前系统时间
  15. 使用增量赋值操作符
  16. 区分一元运算符+±- 的前置后置区别
  17. 使用强制类型转换
  18. 描述软件开发过程,应用于贷款支付额程序
  19. 编写程序,计算整钱兑零
  20. 避免基础错误

1.编写简单的应用程序

计算一个圆的面积.

这个程序的算法过程描述:

  1. 读入半径
  2. 利用公式求出面积
  3. 显示面积

在编写代码之前,以一种算法的形式来勾勒程序,是一个很好的做法
编写一个java程序需要书写一个类,和一个main方法

public class ComputeArea{
	public static void main(String[]args){
		//1 读入半径
		//2 利用公式求出面积
		//3 显示面积
	}
}

程序需要用户从键盘输入半径,就产生两个步骤

  1. 读取半径
  2. 将半径存储在程序中

2.变量

先解决第二步,为了存储半径,需要在内存中占用空间(程序的数据时在内存中),在程序中需要声明一个变量作为符号或标志,来代表存储在计算机内存中的一个值
变量的名字应该见名知意,不应该使用X,Y来代指,使用radius表示半径,使用area表示面积.为了让编译器知道radius和area是什么,需要为变量指定数据类型,Java中有八种基本数据类型:

数据类型最小值最大值默认值
byte-1281270
short-32768327680
int-214748364821474836470
long-922337203685477580892233720368547758070
float1.4E - 453.4028235E380.0
double1.7976931348623157E3084.9E - 3240.0
boolean--flase
char065535/u0000

byte short int long 为整数型
float double为浮点型
boolean 为布尔型
char 为字符型
半径应该使用浮点型,可能会存在小数点

声明变量的语法为
数据类型 变量名

double radius;

例如:

int i;
double a;

声明变量后,将会在内存中占用空间,但变量内没有具体的值,需要为变量赋值
语法为:
变量名=字面值;

i=10;
a=10;
radius=10;

声明变量和赋值可连写:

double radius=10;

可以为变量连续赋值 ,赋值运算符= 为右结合运算符,即从右像左运算

int a;
int b=a=10;	//将10赋值给a,之后再将a赋值给b

连续赋值必须提前声明,不能连续声明和赋值

int a=b=10;	//错误,b需要提前声明

可以连续声明变量

int a,b,c;	//同时声明变量a,b,c 没有进行赋值

最常用的是

int a = 0;	//数据类型 变量名=字面值;

这样,就声明了一个长度为10的半径
周长为半径*3.14

double area=radius*3.14;

代码为

public class ComputeArea{
	public static void main(String[]args){
		//1 假设半径为10
		double radius=10;
		//2 利用公式求出面积
		double area=radius*3.14;
		//3 显示面积
		System.out.println("面积:"+area);
	}
}

到此解决了第二步,现在解决第一步从控制台输入
java中使用System.out来表示标准输出设备,System.in来表示标准输入设备,默认情况下输出设备是显示器,输入设备是键盘.
Java不支持直接控制台输入,需要通过Scanner类,创建Scannner类的对象来读取System.in的输入,Scanner类是java预定义的类,使用需要导入
语法:
Scannner input=new Scanner(System.in);
类名 对象名=new 类名(参数);

Scanner input=new Scanner(System.in);	//声明创建一个Scanner对象 赋值给input变量,input变量的数据类型是Scanner

对象可以调用自己的方法,可以调用nextDouble方法来获取一个double的值:

double radius=input.nextDouble();

该语句从键盘读取一个值,将数值赋值给变量radius
结合所有步骤代码:

import java.util.Scanner;	//使用Scanner类,需要告诉编译器去哪里找到Scanner类,需要将Scanner类导入
public class ComputeArea{
	public static void main(String[]args){
		//1 读入半径
		//1)读取用户输入
		Scanner input=new Scanner(System.in);
		//2)将数据存储
		double radius=input.nextDouble();
		//2 利用公式求出面积
		double area=radius*3.14;
		//3 显示面积
		System.out.println("面积:"+area);
	}
}

当个用户输入了一个非正确的值,将会引发错误

Java中的运算符

运算符含义计算方向
+从左向右
-从左向右
*从左向右
/从左向右
%取模从左向右
=赋值从右向左

复习题

  • 如何编写一条语句,让用户从键盘输入一个浮点数
    Scanner in = new Scanner(System.in);
    double aDouble=in.nextDouble();
  • Scanner类可以直接使用吗
    Scanner类需要导入
import java.util.Scanner

3.标识符

标识符是为了表示程序中的类或方法或变量的元素而采用的命名.

在程序设计语言中,标识符必须遵守命名规则:

  • 标识符由字母、数字、下划线_和美元符号$组成.
  • 标识符不能以数字开头.
  • 标识符不能使用保留字(关键字).
  • 标识符不能使用true、false、null.
  • 标识符可以是任意长度,但不能太长

java中严格区分大小写
area和Area是两个完全不同的标识符

标识符命名规范(驼峰命名法)

  • 类名以大写字母开始,之后每个单词首字母大写如:ComputerArea
  • 变量名以首字母小写,之后每个单词首字母大写如: area、radius、othreArea
  • 方法名以首字母小写,之后每个单词首字母大写 如:main
  • 常量名全部大写,每个单词之间使用_分割如AREA
  • 标识符命名应该见名知意,不应该使用抽象的标识符,变量名尽量使用名次,方法名尽量使用动词

复习题

  • 以下哪些标识符是合法的?
    miles,Test,a++,4a,$4,#a,apps,class,public,int,x

合法:miles,Test,$4,apps,x
符合命名规范的 miles,apps

4.赋值语句表达式

赋值语句将一个指定的值赋值给一个变量,在java中,赋值语句可以使用表达式.

语法:
变量 = 表达式;

表达式中,所涉及的变量、值、运算符他们将计算出结果后赋值给变量.
例如:

int a=1+1;
int b=2;
int sum=a+b;

在java中,=表示赋值运算,表示将右侧的值赋值给左侧的变量,并不是等于

复习题

  • 指出代码中的错误
public class Test{
	public static void main(String[]args){
		int a=b=c=1;//错误,bc没有被声明
		System.out.println(a);
	}
}

5.常量

常量是一个在程序运行期间不会发生改变的值,命常量代是一个代表不变值的标识符

在程序中π是一个固定不变的值,即常量,当程序反复使用π,又不想重复输入时,可以声明一个常量
语法:
final 数据类型 常量名=字面值;

final P=3.1415926;

使用常量的好处

不必重复的输入同一个值
如果需要修改常量,只需要在赋值位置修改一次
给常量描述会提高程序可读性
使用常量可以避免常量被误修改

复习题

  • 使用常量的好处是什么?声明一个int类型的常量SIZE,赋值为20
    不必重复的输入一个值,如果需要改常量,只需要在赋值位置修改一次,提高程序的可读性final int SIZE=10;
  • 类名,方法名,常量名和变量名的命名习惯是什么?
    类名首字母大写,之后每个单词首字母大写,方法名首字母小写,之后每个单词首字母大写,常量名每个字母大写,每个单词使用_分割,变量名首字母小写,之后每个单词首字母大写
  • 将以下算法翻译成Java带吗
    第一步:声明一个双精度类型变量miles,初始值为100.
    第二步:声明一个双精度类型常量KILOMETERS_PER_MILE,初始值为1.609
    第三步:声明一个双精度变量kilometers,将miles和KILOMETERS_PER_MILE相城,并将结果赋值给kilometers
    第四步:在控制台显示kilometers
    第四步之后,kilometers是多少?
public class Test{
	public static void main(String[]args){
		double miles=100;
		final double KILOMETERS_PER_MILE=1.609;
		double kilmoeters=miles*KILOMETERS_PER_MILE;
		System.out.println(kilmoters);//160.9
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值