1、所有的标点符号必须是英文下的
2、如果想原样输出内容,那么内容必须写在英文下的一对“”
3、JAVA中严格取分大小写
4、括号必须成对出现
进制
二进制:0 1
八进制:0 1 2 3 4 5 6 7
十进制:0 1 2 3 4 5 6 7 8 9
十六进制:0 1 2 3 4 5 6 7 8 9 a b c d e f
eclipse的基本操作
1.切换工作空间
File->Switch Workspace->Other->Browse->选择一个文件夹
2.显示隐藏试图
(1)显示控制台
Window->Show View->Console
(2)显示项目列表
Window->Show View->Package Explorer
3.创建项目写代码
(1)新建一个项目Java Project
(2)新建一个包Package---首字母小写
(3)新建一个类Class-------首字母大写
4.修改字体
Window->Preferences->General->Appearance->Colors And Fonts
->Basic->Text Font->修改字体->Apply And Close
5.显示行号
代码左侧右键->Show Line Numbers
6.重命名
Refactor->Rename
7.删除
Delete
8.导入项目
File->Import->General->Existing Projects into Workspace->Browse->项目
9.修改主题
Window->Preferences->General->Appearance->Theme
驼峰命名法
大驼峰 DogCatPig
小驼峰 dogCatPig
IDEA
project----module-----package-----class
一、输出
换行输出
System.out.println(内容);
不换行输出
System.out.print(内容);
二、注释
1.单行注释 //
2.多行注释 /* .. */
3.文档注释 /** .. */
package day01;
/**
* 文档注释
*/
public class One {
public static void main(String[] args) {
/*
输出:
1、换行输出
2、不换行输出
*/
//换行输出
System.out.println("换行1");
System.out.println("换行2");
//不换行输出
System.out.print("不换行1");
System.out.print("不换行2");
}
}
三、快捷键
保存 Ctrl+S
复制 Ctrl+C
粘贴 Ctrl+V
剪切 Ctrl+X
全选 Ctrl+A
撤销 Ctrl+Z
缩进 tab
退出 Alt+F4
联想 Tab+/
直接换行 Shift+Enter
删除整行 Ctrl+D
单行注释|取消 Ctrl+/
多行注释 Ctrl+Shift+/
取消多行注释 Ctrl+Shift+\
运行 Ctrl+F11
四、变量
1.变量的声明
变量类型 变量名称;
2.变量的初始化(第一次给变量赋值)
先声明后赋值
int a;
a=1;
声明的同时赋值
int b=2;
重新赋值
b=5;
3.变量的使用
(1)使用的是变量的值
(2)不能将变量写在""中
(3)声明的类型和内容类型匹配
4.变量的命名规范
(1)可以使用中文,但是不推荐
(2)严格区分大小写
(3)只能由字母、数字、下划线和$组成
(4)数字不能开头
(5)尽量遵循小驼峰命名法
(6)见名知意
package day01;
public class Two {
public static void main(String[] args) {
//1、变量的声明
int a;
//2、变量的初始化(第一次给变量赋值)
a=5;
//3、变量的使用
System.out.println(a);
//声明的同时赋值
int b=6;
System.out.println(b);
//重新赋值
b=25;
System.out.println(b);
}
}
五、变量的类型
1PB=1024TB
1TB=1024MB
1MB=1024KB
1KB=1024byte
1byte=8bit
整型:
byte(1个字节):-128~127
short(2个字节):-32768~32767
int(4个字节):-21亿多~21亿多
long(8个字节):值后面加 l|L
浮点:
float(单精度浮点):值后面加 f|F
double(双精度浮点)
字符:
char:值写在''中,只能存一个字符
布尔:
boolean:true(真)|false(假)
字符串:
String:值写在""中,可以存多个字符
package day02;
public class Six {
public static void main(String[] args) {
String a="黄瓜";
System.out.println("我要去菜市场买"+a);
String b="黄瓜单价";
float c=0.5f;
System.out.println("一根"+b+":"+c+"元");
int d=11;
System.out.println("我买了"+d+"根黄瓜");
int e=10;
System.out.println("我身上有"+e+"元");
System.out.println("应该找给我"+(e-c*d)+"元");
}
}
六、数据类型转换
数据类型从小到大排列:
byte<short<int<long<float<double
转换类型:
自动类型转换:小类型转大类型
强制类型转换:大类型转小类型(手动)
强转特殊情况:
1.溢出
2.精度丢失
package day02;
public class Seven {
public static void main(String[] args) {
//自动类型转换:小类型转大类型
byte a=5;
int b=a;
System.out.println(b);
//强制类型转换:大类型转小类型
int c=10;
byte d=(byte)c;
System.out.println(d);
//溢出
int e=130;
byte f= (byte)e;
System.out.println(f);
//精度丢失
double g=24.6;
int h=(int)g;
System.out.println(h);
}
}
七、运算符
1.算术运算符
+ - * / %
2.关系运算符
> < >= <= == !=
package day02;
public class Eight {
public static void main(String[] args) {
//1.算术运算符
int a=3;
int b=8;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
System.out.println(a%b);
//2.关系运算符
int c=6;
int d=3;
System.out.println(c>d);
System.out.println(c<d);
System.out.println(c>=d);
System.out.println(c<=d);
System.out.println(c==d);
System.out.println(c!=d);
}
}
3.赋值运算符
= += —= *= /= %=
4.逻辑运算符(两边必须放布尔类型的值) 优先级 :&&>||>!
&&与(只要有一个为false,结果就是false)
||或(只要有一个为true,结果就是true)
!非(取反)
短路情况:
&&:第一个为false
||:第一个为true
短路:第一个表达式能够决定整个表达式结果
后果:后面的表达式不执行
5.自增、自减运算符
++ --
++a:先自增,后其他运算
a++:先其他运算,后自增
package day03;
public class Five {
public static void main(String[] args) {
//5.自增、自减运算符:++ ——
int a=5;
int b = ++a;//先自增,后其他运算
System.out.println(a);//6
System.out.println(b);//6
a=5;
b=a++;//先其他运算,后自增
System.out.println(a);//6
System.out.println(b);//5
int c=3;
int d=5;
int e=c-- + ++d;
System.out.println(c);
System.out.println(d);
System.out.println(e);
int x=6;
int y=x-- - --x;
System.out.println(x);
System.out.println(y);
}
}
6.三目运算符(优先级:单目>双目>三目>赋值运算符)
表达式1(boolean) ? 表达式2 (true): 表达式3(false);
八、键盘输入
1.导包
import java.util.Scanner;
2.打开键盘输入
Scanner sc = new Scanner(System.in);
3.获取用户输入信息
int a = sc.nextInt();
double a = sc.nextDouble();
String a = sc.next();
package day03;
import java.util.Scanner;
public class Eight {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
// System.out.println("请输入两个不同的整数:");
// int a=sc.nextInt();
// int b= sc.nextInt();
// int x=a>b?a:b;
// System.out.println("最大值为:"+x);
System.out.println("请输入三个不同的整数:");
int c=sc.nextInt();
int d=sc.nextInt();
int e=sc.nextInt();
int y=c>d&&c>e?c:(d>e?d:e);
System.out.println("最大值为:"+y);
}
}
九、字符串处理方法
获取字符串长度 length()
去除两端空白 trim()
转大写 toUpperCase()
转小写 toLowerCase()
判断以..开头 startsWith(字符串)
判断以..结尾 endsWith(字符串)
下标获取对应字符 charAt(下标)
字符串第一次出现位置 indexOf(字符串)
替换字符串 replace(旧字符串,新字符串)
截取字符串 substring(开始下标,结尾下标) 包含开始不包含结尾
字符串相等 equals(字符串)
package day04;
import java.util.Locale;
public class Two {
public static void main(String[] args) {
String a=" Hello World";
// 0123456789
String b=" Hello World";
System.out.println("长度为:"+a.length());
System.out.println("去除后:"+a.trim());
System.out.println("转大写:"+a.toUpperCase());
System.out.println("转小写:"+a.toLowerCase());
System.out.println("判断以..开头:"+a.startsWith("H"));
System.out.println("判断以..结尾:"+a.endsWith("d"));
System.out.println("对应字符:"+a.charAt(5));
System.out.println("对应下标:"+a.indexOf("l"));
System.out.println("替换后:"+a.replace("H","a"));
System.out.println("截取后:"+a.substring(2,9));
System.out.println("判断相等:"+a.equals(b));
}
}
十、分支语句
1、if
if(){
}else if(){
}else{
}
package day04;
import java.util.Locale;
import java.util.Scanner;
public class Five {
public static void main(String[] args) {
String a="mhn123456";
String b="mhn654321";
String c="Eqpi";
Scanner sc=new Scanner(System.in);
System.out.println("请输入用户名:");
String a1= sc.next();
System.out.println("请输入密码:");
String b1= sc.next();
System.out.println("请输入验证码:");
String c1= sc.next();
//不论验证码大小写都正确
c=c.toLowerCase();
c1=c1.toUpperCase();
if(c.equals(c1)){
if(a.equals(a1)&&b.equals(b1)){
System.out.println("登陆成功");
}
//判断登录失败的原因:1.密码错误(密码错误)
// 2.用户不存在(用户名错误/用户名密码都错误)
else if(a.equals(a1)){
System.out.println("密码错误");
}
else{
System.out.println("用户名不存在");
}}
else{
System.out.println("验证码错误");
}
}
}
2、switch
switch(变量名){
case value值:
内容;
break;
case value值:
内容;
break;
case value值:
内容;
break;
default: 内容 ;
}
package day05;
public class Two {
public static void main(String[] args) {
int a=5;
switch (a){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
default:
System.out.println("没有对应星期");
}
}
}
注意点:
1.在每句分支的后边,break必须有
如果没有,那么在执行完此条语句之后,继续顺序执行下面分支的语句,直到碰到break;
2、case后的value值得数据类型必须和switch(参数)参数的数据类型一致;
3.switch后的参数的类型可以是:byte short int char String.
十一、两种分支语句的比较
if(){...}else if(){...}else{} 可以做范围判断,也可以做等值判断
switch(){case...} 不能做范围判断,只能做等值判断 效率高
十二、循环语句
1、for循环 执行已知次数循环
for(变量初始化;循环条件;变量改变){
循环内容;
}
package day05;
public class Three {
public static void main(String[] args) {
// for(int a=19;a>=1;a=a-2){
// System.out.println(a);
// }
for(int a=20;a>=1;a=a-1){
if(a%2==1){
System.out.println(a);
}
}
}
}
2、while循环 执行未知次数循环,至少执行0次
先判断再执行
while(循环条件){
循环内容;
}
3、do-while循环: 执行未知次数循环,至少执行1次
先执行再判断
do{
循环内容;
}while(循环条件);
package day05;
public class Four {
public static void main(String[] args) {
//执行已知次数循环
for(int a=1;a<=10;a++){
System.out.println(a);
}
//执行未知次数循环,至少执行0次
int b=1;
while (b<=10){
System.out.println(b);
b++;
}
//执行未知次数循环,至少执行1次
int c=1;
do{
System.out.println(c);
c++;
}while (c<=10);//满足循环的条件
}
}
十三、随机数
Math.random()
范围0~1 【0,1)
package day05;
public class Five {
public static void main(String[] args) {
//随机数 Math.random()
//[x,y] (int)(Math.random()*(y-x+1)+x)
int a=(int)(Math.random()*381+250);
System.out.println(a);
}
}
案例:收银
package day05;
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import java.util.Scanner;
public class One {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入商品的单价:");
double a=sc.nextDouble();
System.out.println("请输入购买的数量:");
int b= sc.nextInt();
double x=a*b;
System.out.println("总价为:"+x);
double d;
if(x>=1000){
d=x*0.7;
System.out.println("打折后为"+d);
}
else if(x>=800){
d=x*0.8;
System.out.println("打折后为"+d);
}else if(x>=500){
d=x*0.9;
System.out.println("打折后为:"+d);
}
else{
d=x;
System.out.println("打折后为:"+d);
}
System.out.println("请输入您要给的金额:");
double c=sc.nextDouble();
if(c>=d){
System.out.println("给您便宜了:"+(x-d)+"找零:"+(c-d));}
else{
System.out.println("滚!!!");
}
}
}
案例:猜数字游戏
package day05;
import java.util.Scanner;
public class Six {
public static void main(String[] args) {
//猜数字游戏
System.out.println("欢迎来到猜数字游戏,猜猜看啊(1-1000)");
int a=(int)(Math.random()*1000+1);
Scanner sc=new Scanner(System.in);
int b;
int c=0;
do {
b=sc.nextInt();
if(b>a){
System.out.println("猜大了");
c++;
}
else if(b<a){
System.out.println("猜小了");
c++;
}
else{
System.out.println("恭喜你,猜对了!!!");
}
} while(a!=b);
System.out.println("猜错"+c+"次"+"得分:"+(100-2*c));
}
}