目录
第一课:Hello,World!
- 随便新建一个文件夹,存放代码
- 新建一个java文件
- 文件后缀名为java
- Hello.java
- 编写代码
1 public class Hello{
2 public static void main (String[] args){
3 System.out.print("Hello,World!");
4 }
5 }
4、编译javac java文件,会生成一个class文件
5、运营class文件,java class文件
可能遇到的问题
- 每个单词的大小不能出现问题,java是大小写敏感的
- 尽量使用英文,中文可能乱码
- 文件名和类名必须保证一致,并且首字母大写
- 符号注意中英文
第二课
注释
- 注释不会被执行,是给我们写代码的人看的
- 平时写代码要注意规范
Java中的三种注释
- 单行注释://
- 多行注释:/*(中间用来写注释)*/
- 文档注释:/** (平时用的少,知道就好)*/
关键字
java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
标识符注意点
- 所有标识符都应该以字母(A~Z或者a~z),美元符($)、或者下划线(_)开始
- 首字符之后可以是字母(A~Z或者a~z),美元符($)、或者下划线(_)或者数字的任何字符组合
- 不能使用关键字作为变量名或方法名
- 标识符大小写敏感
- 可以使用中文命名,但是一般不建议去使用,也不建议使用拼音
数据类型
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
变量的使用不用严格
Java的数据类型分为两大类
基本类型
数值类型:整数类型(byte、short、int、long)
浮点类型(float、double)常用
字符类型char
boolean类型
占1位其值只有true和alse两个
八大类型
//整数
byte num2=20; //占一个字节
short num3=30; //占两个字节
int num1=10;//最常用 占四个字节
long num4=30L;//Long类型要在数字后面加个L 占八个字节
//小数
float num5=50.1F;//float类型要在数字后面加个F 占四个字节
double num6=3.1415926; //占八个字节
//字符
char name='啊';
//字符串,String不是关键字,是类 //占两个字节
String namea="帅巍";
//布尔值:是非 占一位
boolean flag=true;
boolean flag=false;
}
引用类型
类、接口、数组
类型转换
位(bit):是计算机内部数据储存的最小单位
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B表示(1B=8bit)
字符:计算机中使用的字母、数字、字和符号
1B=8bit、1024B=1KB、1024KB=1M、1024M=1G
数据转换
低----------------------------------------高
Byte,short,char,int,long,float,double(小数高于整数)
运算中,不同类型的数据先转化为同一类型,然后再进行运算,比int低的会自动转成int。
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 由高到低要强制转换,由低到高直接转换
- 转换的时候可能存在内存溢出,或者精度问题
第三课
变量(就是可以变化的量)
Tyoe varName [=value] [{,varName[=value]}];
数据类型 变量名=值;(可以用逗号来定义多个值
注意事项
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必修是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明必须以分号结束
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面单词首字母大写
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run(),runRun()
常量(初始化后不能再改变值,不会变动的值。)
final 常量名=值;
final double PI=3.14
常量名一般使用大写字符
基本运算符
算术运算符:+,-,*,/,%,++,--
赋值运算符:=
关系运算符:>,<,>=,<=,==(等于),!=(不等于)
逻辑运算符::&&,||,!(与:有假取假,都真取真,或有真取真,都假取假,非:真变假,假变真)
(与,或 有短路,即前面达成条件则后面不会再进行判断。)
条件运算符:?,:(是真取:前那个,是假取:后面那个。例:int x=2,x>0?x+1:5 结果为3。
扩展运算符:+=,-=,*=,/=(a+=b即a=a+b,其他同理。)
自增自减运算符
蛮绕的,第一次看我很懵,只能自己理解加想象了。
int a=10;
int b=a++;
int c=++a;
System.out.print(a);//下面有几次a++或++a,最后a的值就会+几次1,这题下面有两次a++或++a,所以a=12
System.out.print(b);//可以理解为a在前面,所以int b=a后a再++,所以b=10
System.out.print(c);//++在前面,且a已经加过一次1,所以c=11+1=12
a=12
b=11
c=12
int a=10;
int b=++a;
int c=a++;
System.out.print(a);//因为经历了两次a++或++a,所以a=12
System.out.print(b);//因为是++在前面,所以先a+1再b=a,所以b=11
System.out.print(c);//a在前面,所以c=a(a现在只赋值了一次)再a+1(这里就赋值两次了),c=11
第四课:程序流程控制
顺序结构
选择结构
if
public static void main(String[] args) {
int i=1;
if (i<5){ //if(这里是条件,达成则会执行下面内容)
System.out.println("妈妈生的");
输出结果:妈妈生的
if-else-else
public static void main(String[] args) {
int d=10;
if (d<5){
System.out.println("妈妈生的");
} else if (d<20) {
System.out.println("雪豹闭嘴");
}
}
}
输出结果:雪豹闭嘴
switch
switch(表达式){
case 常量值:
语句
break;
case 常量值2:
语句
break;(如果没有break会穿透)
}
循环结构
for循环
for(变量初始化;条件;增量表达式;){执行代码}
例:
//九九乘法表,用了两个for循环
public static void main(String[] args) {
for (int i=1;i<=9;i++){//i从1开始,i小于9,i自增
for (int j=1;j<=i;j++){//j从1开始,j小于9,就自增
System.out.print(i+"*"+j+"="+i*j+" ");
}
System.out.println();//换行
}
}
while和do while
while(条件表达式)单条语句;
或while(条件表达式){执行语句}
do{执行语句}while(条件表达式);
public static void main(String[] args) {
//while
int count=1;
while(count<=10) //先判断条件再循环语句
System.out.println("我叫什么名字"+count++);
//do while
int yu=1;
do {
System.out.println("我叫帅哥"+yu++);
}while (yu<=10); //do while 最后要分号
//条件明确用for循环,条件不明确或者没有用while循环。
while(true){
int i=1;
i++;
if (i>=10){
break;//跳出循环 结束循环
}else {
System.out.println("妈妈生的");
}
if(i==5){
System.out.println("雪豹闭嘴");
continue;//跳出当前循环,继续重复循环,
}
System.out.println("盖亚!!!"+i);
break;//跳出循环 结束循环
}
}
方法
方法简述
方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。
方法的定义不能产生嵌套包含关系。
当我们需要这个功能的时候,就可以去调用。这样既实现了代码的复用性,也解决了代码冗余的现象。
方法定义的格式
1、定义方法的完整格式:
修饰符 返回值类型 方法名称 (参数类型 参数名称, …) {
方法体
return 返回值;}
2、定义方法的三要素:返回值类型、方法名称、参数列表
3、方法的三种调用格式:单独调用、打印调用、赋值调用
局部变量
1、在方法或代码块中定义的变量
2、局部变量在使用前必须赋值
3、超出定义的作用域,就不能再访问局部变量
4、不能在变量的作用域中重复声明变量
参数变量
1、在方法名中声明的变量
2、在整个方法体内可用
方法的返回
return
当返回类型为void时return; 或者不写
其它情况-必须写return 相应类型的值;