(二)Java编程基础
目录
一、关键字与保留字
定义:①关键字:Java关键字是电脑语言里事先定义的,有特别意义的标识符(字符串) 。
②保留字:现版本jdk中未被定义为关键字,将来版本中可能会使用的标识符(字符串)。
二、标识符与变量
1、定义:
①变量:能储存计算结果或能表示值的抽象概念,可对其进行定义、赋值等操作。
②标识符:对各种变量、方法和类等命名时使用的字符序列称为标识符。
2、标识符命名规则:(建议使用驼峰命名法)
①开头:英文字母、'_' 、'$',且不可数字开头更不可全部使用数字。
②不可使用关键字、保留字,但可包含。
③Java中严格区分大小写,且不可包含空格。
注意:常量名建议全部大写,文件名与类名相同且首字母必须大写,若由多个单词组成则第二个单词首字母大写。
3、变量分类(按照数据类型)
①基本数据类型:
②引用数据类型:
注意:
①String(字符串)不属于基本数据类型。
②除了基本数据类型的8种,均属于引用数据类型。
三、基本数据类型的转换
1、自动转换
注意:
①只可按照上图从前向后自动转换(char->int、char->float等),不可逆向。
②char型转换为int型时,按照ASCII码大小。
2、强制转换
案例1:将int类型的num转换成char类型。
package day11; public class Test { public static void main(String[] args) { int num=97; char ch=(char)num; System.out.println(ch); } }
运行结果:
案例2:汉字编码(补充)
public class Test { public static void main(String[] args) { char ch1='赵'; int num=(int)ch1; System.out.println(num+"\n"+"赵后面的是个汉字分别是:"); for(int i=1;i<=10;i++) { System.out.print((char)(num+i)+" "); } } }
运行结果:
注意:案例2意味每个汉字都有其编码序号。
案例3:当字符串前后包含'+'时(补充)
package day11; public class Test { public static void main(String[] args) { String str=1+2+"hello"+4+5; System.out.println(str); } }
运行结果:
注意:当字符串前、后包含'+'时,前面做正常运算,后面做拼接。
四、运算符
1、算数运算符:+、-、*、/、%、++、-- ...(用法c相同)
2、赋值运算符
案例:比较num1=num1+1和num1+=1
结论:前者不能自动强制转换,后者可以
3、比较运算符:==、!=、<、<=、instanceof(检查是否是类的对象)
案例:instanceof 用法
“Hello” instanceof String 返回值:true
4、逻辑运算符:&、|、!、&&、||、^
注意:
①&与&&区别(|与||同理):当左边为true时前者继续比较右边但后者不在比较
②亦或:两边同号为false,异号为true
5、位运算符:<<、>>、>>>(无符号右移)、&、|、^、~(求反码)
注意:
①3<<4=48 等价于 3*2^4
②反码、补码原理要清楚(0正1负)、正数原码按位取反末位加1=负数
6、三目运算符
public class Test {
public static void main(String[] args) {
int n=1,m=2;
System.out.println(n<m?n:m);
}
}
注意:三目运算符可嵌套。
五、分支语句
1、if语句
2、switch语句
public class Test {
public static void main(String[] args) {
int num=1;
switch (num) {
case 1:
执行语句1;
break;
default:
执行语句2;
break;
}
}
}
注意:两者区别不大,个人喜欢用if,但switch效率要高。
五、循环语句
1、for循环
案例:从0打印到9
package day11; public class Test { public static void main(String[] args) { for(int i=0;i<10;i++) { System.out.print(i+" "); } } }
运行结果:
2、while循环
案例:从0打印到9
package day11; public class Test { public static void main(String[] args) { int num=0; while(num!=10) { System.out.print(num+" "); num++; } } }
运行结果:
3、do...while(终止条件)
案例:做课程设计时用到了do...while(终止条件),感觉交互性很好。
部分代码:
void inserts(linklist L) { char c1='y'; do { system("cls"); traverse(L); cout<<"请分别输入选手的编号和姓名"<<endl; infor stu; stu.num=0,stu.rank=-1; cin>>stu.id>>stu.name; if(judge(L,stu.id)){ cout<<"数据有误!"<<endl; continue; } insert(L,stu); cout<<"是否继续添加选手信息(y/n)?"<<endl; cin>>c1; if(c1=='y'){ }else if(c1!='n'){ cout<<"输入有误,请重新输入!"<<endl; } }while(c1!='n'); }
运行结果:直到输入'n'时才退出系统
六、跳转语句
1、break:跳出循环
2、continue:结束本次循环,开始下次循环
3、return:结束程序
七、Java从键盘读取输入
1、单组输入:
package day11;
import java.util.Scanner; //导类
public class Test {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in); //使用Scanner定义cin
String str=cin.nextLine();//读取字符串
String str1=cin.nextLine();//读取字符:先读取字符串,再使用charAt转换
char ch=str1.charAt(0);
int num=cin.nextInt();//读取整数
System.out.println("str:"+str);//输出数据
System.out.println("ch:"+ch);
System.out.println("num:"+num);
}
}
2、读取到文件结束(多组输入):
package day11;
import java.util.Scanner; //导类
public class Test {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in); //使用Scanner定义cin
while(cin.hasNextLine()) {
int num=cin.nextInt();
System.out.println(num);
}
}
}
3、固定组输入:
package day11;
import java.util.Scanner; //导类
public class Test {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in); //使用Scanner定义cin
int n=cin.nextInt();
while(n-->0) {
int num=cin.nextInt();
System.out.println(num);
}
}
}
不足之处请留言!