第一章:概述
1.计算机硬件包括输入设备、输出设备和储存设备。
输入设备包括:键盘,鼠标,摄像头,麦克风,扫描仪。
输出设备包括:显示器,音响,打印机,绘图机。
储存设备有:硬盘,U盘,光盘,闪存。
2.计算机有各种各样的软件。
软件:指按特定顺序组织的计算机数据与指令的集合。
数据:能够被计算机识别的东西,在硬盘中以文件形式储存。
3.Java语言的特征:
1.Java语言具有简单性,面向对象,分布式,健壮性,安全性,平台独立与可移植性,多线程,动态性等特点。
2.Java语言由于并不是用c语言编写,所以在Windows或者mac系统上运行时需要Java虚拟机。
3.具体流程如下:
Java源代码->Java字节码 ->Java虚拟机->操作系统->系统硬件
第二章:基本数据与计算
1.Java的基本框架:
public class 类名 {
public static void main(String[] args) {
}
}
每一个程序至少包含一个类和一个主函数
2.程序的编译与运行
最开始学习Java时我们用命令行来进行程序的编译与运行。
运行cmd后使用命令cd 文件夹 打开我们Java代码所在的文件夹。
然后输入javac 代码文件名字.java 来进行代码的编译
如果没有提示则编译通过,并生成一个 类名.class 文件,我们继续运行程序。
输入 java 类名 来运行。
3.第一个Java程序
public class hello {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
通过上述运行后,我们会看到我们的终端显示出来了一行输出结果。
4.变量
变量顾名思义是可以改变的常量。在编程语言中,例如圆周率为3.1415926…
那么,我们在程序中多次使用这个数字时,则非常麻烦,我们通常定义一个变量等于圆周率,这样使程序显得简洁,并且修改时不用全部修改,只需要更改定义的变量大小即可。
5.变量命名规则
我们通常用字母、数字、下划线作为变量的命名,并且不可以用数字开头。命名不能用这个语言的关键字进行命名。
在Java语言中,这样的关键字有:static、void、if、double、int、class、long等。
6.变量的储存
例如:
int a = 3; int b = 4; int c = 3; if(a==b);
当我们定义了a为3时,变量池中会增加一个变量地址,假设为333,我们定义变量b时,变量池发现里面没有4这个变量,会增加一个4变量的地址,假设为444。当我们定义变量c时,发现变量池中已经有3这个变量了,则不会新增地址。我们在比较a与b是否相等时,不会去比较a与b的数值是否相等,而是比较两个变量的地址是否相等。
7.注释
注释一方面为了让其他人更好地阅读你的代码,另一方面为了自己在很久之后依然可以看懂自己写的什么。所以在编程中,养成写注释的习惯是很重要的。
1.在java中,注释分为单行注释和多行注释以及文本注释。
2.单行注释为://
单行注释只可以注释该行内容
3.多行注释为:
/*
*/
4.在注释中,我们切记,单行注释可以套多行注释,多行注释可以套单行注释,但是多行注释不可以逃多行注释。
例如:
/*
/**/
*/
计算机会认为第一个/和他距离最近的 */匹配。所以后面的注释会被忽略。
指针
在c/c++中,指针应用广泛。
我们是这样定义一个指针的:
int *a;
这里不是int *a
,也不是int* a
,*
代表a
是一个指针,而不是定义了*a
这样一个变量。
int *a ;
int b = 3;
a = &b;
printf("%d",a);
printf("%d",&b);
这里表示a指向b如果我们输出a和b的地址,则会得到两个数值相同的地址,这就使指针的指向。
这里如果我们再定义一个指针变量:
int *a ;
int b = 3;
a = &b;
printf("%d",a);
printf("%d",&b);
int **C = &a;
printf("%d",c);
printf("%d",&a);
printf("%d",*c);
printf("%d",**c);
如果我们定义一个指针指向一个指针,则表示c指向a指向的b的地址。
我们输出的c与输出的a的地址相同
则说明指针c指向a
我们输出的*c
为*&a
则输出的为a,即为b的地址。
练习题:
分析:这个题目直接输出结果即可。
在写程序的时候需要注意括号的对称,容易因为括号过多而出错,使程序运行不了。
package lianxi1;
public class lianxi1 {
public static void main(String[] args) {
System.out.println((9.5*4.5-2.5*3)/(45.5-3.5));
}
}
分析:利用速度=路程/时间 计算出速度
在转换为题目所需要的单位即可
package lianxi2;
public class lianxi2 {
public static void main(String[] args) {
double t = 45.5/60;
double s = 14.0;//s/t计算出速度即可
System.out.println((s/t)/1.6);
}
}
分析:首先计算出一年有多少秒,然后分别除以死亡与诞生和迁入一个人所需要的时间,即可得出一年人口变化,然后分别乘以对应的年数相加即为总人口。
package lianxi4;
public class lianxi4 {
public static void main(String[] args) {
int amount = 312032486;
int change;//记录每年改变的人数
int seconds = 365*24*60*60;//一年的秒数
change = (int) (seconds/7-seconds/13+seconds/45);//一年的改变数
for (int i = 1;i<=5;i++)//每年的总人口
{
System.out.println(amount + change*i);
}
}
}
package lianxi3;
public class lianxi3 {
public static void main(String[] args) {
double t = 1.0 + 40.0/60.0 + 35.0/60.0/60.0;
double s = 24.0;//s/t计算出速度
System.out.println((s/t)*1.6);
}
}
package lianxi5;
public class lianxi5 {
public static void main(String[] args) {
double a = 3.4,b=50.2,e=44.5,c=2.1,d=0.55,f=5.9;
double x = (e*d-b*f)/(a*d-b*c);//定义后直接输出
double y = (a*f-e*c)/(a*d-b*c);
System.out.println("x = "+x+" y = "+y);
}
}