¥···每天进步一点点,每天快乐一点点!坚持每天写点东西,感觉很好,既复习基础知识,又可以收获成就感,何乐而不为呢?···¥
下面的内容是以前学习java时候课堂上做的小笔记,发表到博客中纯属为了保存^_^
一、基础知识
1. 程序
2. 设计语言:c,java,c++,c#,html,actionscript,j2ee
3. java--->j2se,j2ee,j2me
4. java语言特点:
1> 跨平台型:一次编译,到处运行 ---这个是java语言的最大特性
2> 自动管理内存(垃圾回收器)
3> java是一种什么样的语言P5
4> java语言的关键特性:简洁有效、可移植性、面向对象、解释型、适合分布式计算、
5. 安装JDK----JAVA开发工具包 配置开发环境:检测是否配置成功的方法是-->运行-->cmd-->javac -version
6. 运行--》cmd--> javac,java javac Hello.java 再是java Hello
javac.exe是语言编辑器 *.class 是二进制字节码文件 *.java 源程序文件
7. javac ---> 编译--> 编译成功后会产生以.class结尾的(二进制字节码文件)文件名
java ---> 运行--> JVM
1> 什么是java虚拟机:可运行假想代码的java计算机
2> 作用:保证编译过的java代码能在java虚拟机的系统上运行。
8. 类名--标识符命名规则(包、类、方法、参数和变量的名字):可有任意的大小写字母、数字、下划线_和美元符号$等组成,
但标识符不能以数字开头,不能使java中保留关键字。
9. main 方法是程序入口 ,定义是固定的
public static void main(String arg[]){}
10. 计算机功能---〉数据处理--〉数据存放到内存
---〉常量,变量
---〉定义和声明(分配内存空间):通过数据类型和名字
---〉赋值 (给所分配的内存放数据)
---〉使用数据(引用):通过名字
常量:经过第一次赋值后(初始化),不允许在改变值
变量:程序运行过程中,可以根据需求改变值
由于变量也是一种标识符,所以遵循标识符的命名规则。
变量按作用划分为成员变量和局部变量。
常量定义和声明 >>>>>>>>>>> 类的里边,方法的外边
变量定义和声明:
1. 类的里边,方法的外边--成员变量--》作用域在类里边均可以使用
2. 方法的里边--局部变量--》作用域在方法里边
11. 数据类型---作用:告诉系统分配多大的内存空间
两大类数据类型---基本数据类型和引用型
基本数据类型包括:数值型(整型、浮点型)、布尔型、字符型
引用数据类型:类、接口、数组、字符串。
整型:0byte ,short ,int ,long
int a1 = 15; //十进制 int a2 = 015; //八进制 int a3 = 0x15; //十六进制
浮点型: float,double float f1 = 1.4f; ***注意单精度型必须注明。 double d1 = 23.45;
字符型:char
布尔型:ture ,false
数据进行计算时(主要为赋值运算,+,-,*,/)要求数据“类型必须一致”。运算出来出来的结果也这种数据类型。
赋值运算:低的数据类型赋给高的数据类型,可以自动转换-->低变为高
+,-,*,/:如果操作数类型不一致,那肯定会自动转换——》低变为高
自动转换的原则:
运算过程中低的数据类型会自动转换成高的数据类型(从低到高)
byte-->short--->int-->long-->float-->double 或是 char-->int-->long-->float-->double
案例说明:
public static void main(String[] args) {
int a,result1;
float b,result2;
a = 1;
b = 5.0f;
result1 = (int)(a + b); //6 进行强制转换
result2 = a + b; //6.0 int会自动转换为较高的float
System.out.println("result1 = " + result1);
System.out.println("result2 = " + result2+"\n");
result2 = a/2 + b/2; //0+ 5.0f/2.0f-->0+2.5f-->0.0+2.5f=2.5f
System.out.println("result2 = " + result2+"\n");
// result1 = 1.0*a/2+b/2;
double result3 = 1.0*a/2+b/2;//3.0
System.out.println("result3 = " + result3+"\n");
}
// 局部变量在使用之前必须进行初始化
----“什么是初始化”
//成员变量在使用之前可以不进行初始化,系统会自动给默认值
public class Test {
static final int c = 5; //常量
static double d = 1.0; // 成员变量
static double e;
public static void main(String[] args) { // 方法
int a = 2; // 局部变量
double b=20.0 ;
// 局部变量在使用之前必须进行初始化
// 成员变量在使用之前可以不进行初始化,系统会自动给默认值
// 常量必须初始化
e = a+d;
System.out.println("a="+a);
System.out.println("e="+e);
System.out.println("c="+c);
System.out.println("d="+d);
}
}<span style="font-family: Arial; font-size: 14px; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial; font-size: 14px; background-color: rgb(255, 255, 255);"> </span>
例子1:如果今天是星期日或星期六,则我在睡觉,否则在学习
//如果今天是星期日,则我在睡觉,否则在学习
Calendar rightNow = Calendar.getInstance();//取系统时间
int today = rightNow.get(Calendar.DAY_OF_WEEK);//1相当星期日
if(today == 1 || today == 7){
System.out.println("I am sleep!!");
}else{
System.out.println("I am study!!");
}
例子2:通过键盘输入今天是星期几,之后判断如果今天是星期日,并且没有作业,则我在睡觉,否则在学习
Scanner input = new Scanner(System.in);
System.out.println("请输入今天是星期几:");
int today = input.nextInt();
boolean hasNoWork = true;
if(today == 1 && hasNoWork){
System.out.println("I am sleep!!");
}else{
System.out.println("I am study!!");
}
例子3:if例子:输入一个三位整数,将其倒序输出, 如输入123,则输出321
import java.util.Scanner;
public class Lianxi1 {
public static void main(String[] args) {
for(int i = 1; i <= i + 1; i++){
//用for循环的话就更好循环输入数字
System.out.println("第"+i+"次输入");
Scanner input = new Scanner (System.in);
System.out.println("请输入要判断的整数是:");
int num = input.nextInt();
if (num > 99 && num < 1000)
{ 2. // 每一位数字取出来,保存 a-百 b-十 c-个
int a = num / 100;
int b = num%100 / 10;
int c = num % 10;
// 组合倒序数
int result = c*100 + b*10 + a;
System.out.println(result);
} else
System.out.println("输入不是三位数");
}
}
}
12. ++(自加),--(自减)运算符 补充:
自增自减运算符的位置有两种方式,可以放在操作数的后面也可以放在操作数的前面,分别叫做后置自增减运算符和前置自增减运算符。这两种方式对于操作数本身来说是没有区别的,都是对操作数进行加1或是减1的操作;但是在进行赋值(就是进行运算的时候)时,就会有很大的区别。
1.后置自增运算符是先:先赋值后运算 前置自增运算符是:先运算后赋值
13. 条件运算符:?:
int x = 85;
char grade;
grade = x>80?'A':'B';
if(x>80) grade = 'A';
else grade = 'B';
14.for循环语句格式如下:
for (赋值初值;判断条件;控制变量增减量)
{
语句1 ;
….
语句n ;
}
1. ()后面不要加 ; 号 多条语句的话用{},单条语句可用可不用{}
2. 一定要注意改变控制变量(控制变量增减量),以免出现死循环---就是无限循环。
如下边通过减量改变:
int sum = 0;
for(int i =100; i>0; i--){
sum +=i;
}
System.out.println(sum);
3. 赋值初值进行了变量声明和在for的外边进行变量声明的区别:
局部变量的作用范围 :如果变量是在for,或者if,else的{}
进行声明的,《那这个局部变量的作用范围》就是在对应的for循环里边或者
if,else的{}
15.循环语句
for循环流程如下
⑴ 第一次进入for循环时,为循环控制变量赋起始值。
⑵ 根据判断条件的内容检查是否要继续执行循环,当
判断条件值为真(true)时,继续执行循环主体内的语
句;判断条件值为假(false)时,则会跳出循环,
执行其他语句。
⑶ 执行完循环主体内的语句后,循环控制变量会根
据增减量的要求,更改循环控制变量的值,再回到
步骤2重新判断是否继续执行循环
注意:三种循环的选择原则:
1. 如果循环的次数已经确定,可选择for.
否则选择while,do while
2. 在次数不确定的情况下,如果要保证至少
执行一次循环体,则可选择do while。
3. 三种循环中,只有do while能够保证循环体
至少会保证执行一次,另外两种存在循环体
不被执行的可能。
4. 理论上任何一种循环都可以改写成其他
两种形式的循环。但为了保持良好的编程
风格,应该基于以上三点来选择。