JavaSE
1. 计算机基础
常用DOS命令
#dir 查看当前目录所有文件
#cd 切换目录
#cls 清除屏幕
#exit 退出dos窗口
#应用
calc 打开计算器
mspaint 画图工具
#cd /d 路径 进入文件夹
#md、rd 创建、删除文件夹
#cd>x.txt、del 文件名字 创建文件、删除文件
2.入门程序
1.Hello.java
publicclassHello{
publicstaticvoidmain(String[] args){
System.out.println("hello");
}
}
操作截图:
注意点:
java文件是区分大小写的
文件的命名尽量采用英文
2.java语法基础
1.标识符:可以使用大小写进行命名,两个完全不同的变量
- 数据类型:强类型语言(必须先定义后才可使用)
3.数据拓展
/**
十进制:int a =10; ============>10
8进制:int a1 = 010;===========>8
16进制:int a2 = 0x10==========>16
**/
【尽量少用浮点数进行比较】,对银行业务,采用BigDecimal类比较
4.类型转换
强制类型转换 高------>低 语法:(类型)变量名
自动类型转换 低------>高
注意点:
不能对布尔类型进行转换
转换可能存在内存溢出和精度(强转进度不准确)的问题
5.变量/常量
类变量(static)
/*
从属于该类,随着类一起出现一起消失
*/
staticdoublea=100;
实例变量
方法以外,类以内
从属于对象
不初始化,会赋值默认值(0,0.0,flase,NULL)
局部变量
方法之内
使用之前必须声明和初始化
常量
/*
- 使用final进行修饰
- 一旦定义,不可修改
- 通常使用大写字母进行定义
*/
finalstaticdoublea=100;
staticfinaldoubleb=100;
- 运算符
注意点:
在运算的过程中,如果有long,则结果为long,否则默认都为Int
a++和++a的区别
b=a++ 先赋值给b,然后a在+1
b=++a 先a+1,然后在赋值给
6.1.逻辑运算
&&(或) ||(与) !(非)
&& 一个为假全为假
|| 一个为真全为真
! 取反,若原为真则取反为假
注意:短路情况 比如&&运算,当第一个为假的时候,则整个为假,不考虑后面的运算;||运算,当第一个为真,则不考虑后面的运算
6.2.位运算
packageoperator;
publicclassDemo01 {
publicstaticvoidmain(String[] args) {
inta=11;
intb=20;
//字符串连接符
System.out.println(""+a+b);
//String 在前表示做字符串的拼接
System.out.println(a+b+"");
//String 在后表示先做运算在拼接
}
结果:
1120
31
/*
位运算
A = 0011 1100
B = 0000 1011
------------------------------
A&B
A|B
A^B(取反)
~B(取反)
-------------------------------
<< *2
>> /2
*/
}
3.java流程控制
- Scannner
next输出:
packagecom.xx.scanner;
importjavax.sound.midi.Soundbank;
importjava.util.Scanner;
publicclassDemo01 {
publicstaticvoidmain(String[] args) {
//创建一个扫描器,接收输入
Scannerscanner=newScanner(System.in);
//判断用户是否输入
System.out.println("next接收数据:");
//next方式接收
if(scanner.hasNext()){
Stringstr=scanner.next();
System.out.println("输出str:"+str);
}
//凡是IO流,使用完必须关闭
scanner.close();
}
}
Demo:helloworld
结果:hello
nextLine输出:
packagecom.xx.scanner;
importjava.util.Scanner;
publicclassDemo02 {
publicstaticvoidmain(String[] args) {
Scannerscanner=newScanner(System.in);
System.out.println("nextLink接收数据:");
if (scanner.hasNextLine()){
Strings=scanner.nextLine();
System.out.println("输出s:"+s);
}
scanner.close();
}
}
Demo:helloworld
结果:helloworld
常用结构:
packagecom.xx.scanner;
importjava.util.Scanner;
publicclassDemo03 {
publicstaticvoidmain(String[] args) {
Scannerscanner=newScanner(System.in);
System.out.println("请输入数据:");
Strings=scanner.nextLine();
System.out.println("输出结果为:"+s);
scanner.close();
}
}
Demo:输入多个数字,求其总和与平均数,输入非数字结束
packagecom.xx.scanner;
importjava.util.Scanner;
publicclassDemo04 {
//输入多个数字,求其总和与平均数,输入非数字结束
publicstaticvoidmain(String[] args) {
Scannerscanner=newScanner(System.in);
//总和
doublesum=0;
//计数
intm=0;
System.out.println("请输入数据:");
while (scanner.hasNextDouble()) {
doublev=scanner.nextDouble();
sum+=v;
//sum = sum+v;
m++;
}
System.out.println("输入的总和:"+sum);
System.out.println("输入平均数:"+sum/m);
}
}
2.程序结构
2.1顺序结构
顺序结构为基本的程序结构
2.2选择结构
if
packagecom.xx.struct;
importjava.util.Scanner;
/**
* 多选择结构
* 考试成绩在90-100为A,80-90为B,70-80为C等等
*/
publicclassIfDemo01 {
publicstaticvoidmain(String[] args) {
Scannerscanner=newScanner(System.in);
System.out.println("请输入成绩:");
doublescore=scanner.nextDouble();
if (score==100){
System.out.println("满分");
} elseif (score>90&&score<100) {
System.out.println("A等");
}elseif (score>80&&score<90) {
System.out.println("B等");
}elseif (score>70&&score<80) {
System.out.println("C等");
}elseif (score>60&&score<70) {
System.out.println("D等");
}elseif (score>0&&score<60) {
System.out.println("不及格");
}else {
System.out.println("输入的分数不合法!!");
}
scanner.close();
}
}
switch
bety、short、int或char
JDK7以后支持,String类型switch也支持
case标签必须为字符串常量或字面量
写完一个case,都加上break 否则会出现case穿透
switch主要用于匹配
packagecom.xx.struct;
importjava.util.Scanner;
publicclassSwitchDemo01 {
publicstaticvoidmain(String[] args) {
Scannerscanner=newScanner(System.in);
System.out.println("输入数据:");
intv=scanner.nextInt();
switch (v) {
case90:
System.out.println("A");
break;
case80:
System.out.println("B");
break;
case70:
System.out.println("C");
break;
case60:
System.out.println("D");
break;
default:
System.out.println("未知等级");
}
scanner.close();
}
}
2.3循环结构
while与do while区别:
for循环:
注意点:
for(;;){} 表示为死循环
Demo
计算0-100之间的奇数和偶数之和
publicstaticvoidSum() {
//奇数之和
doubleOddSum=0;
//偶数之和
doubleEvenSum=0;
System.out.println("计算1-100之间奇偶之和:");
for (intcount=0; count<100; count++) {
if (count%2==0) {
OddSum+=count;
} else {
EvenSum+=count;
}
}
System.out.println("奇数之间和"+OddSum);
System.out.println("奇数之间和"+EvenSum);
}
用while循环或for循环输出1-1000之间能被5整除的数,并且每行输出3个
publicstaticvoidForInteger() {
System.out.println("1-1000被5整除的数:");
intcompute=0;
for (intcount=1; count<1000; count++) {
if (count%5==0) {
System.out.print(count+"\t");
compute++;
}
if (compute==3) {
compute=0;
System.out.println();
}
/* if (count%(5*3) == 0) {
System.out.println();
}*/
}
}
打印9x9乘法表
publicstaticvoidmultiplication() {
for (inti=1; i<=9; i++) {
for (intj=1; j<=i; j++) {
System.out.print(j+"x"+i+"="+i*j+"\t");
}
System.out.println();
}
}
打印三角形
publicstaticvoidtriangle() {
for (inti=0; i<5; i++) {
for (intj=5; j>i; j--) {
System.out.print(" ");
}
for (intj=0; j<i; j++) {
System.out.print("*");
}
for (intj=0; j<=i; j++) {
System.out.print("*");
}
System.out.println();
}
}