Java笔记
关键字:都是小写的,被Java富裕特定意思的书叫做关键字,(在某些高级编辑器里有特定含义){50个关键字}
标识符是由数字,字母,下划线和美元组成其他符号不可以,必须以字母、下划线和美元符号开头不可以数字开头
字面值:
字面值就是可以直接看到是多少的数据
字面值的分类:
字符串:用双引号括起来的内容,例如“王泽奇”
整数:所有整数:例如1024;
小数:搜有效数:例如3.14;
字符:用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号,例如:‘a’;
布尔:只有true和false;
变量:
就是随着程序的运行进行改变的量
数据类型+变量名=变量值
数据类型 变量名:
变量名=变量值:
定义变量的作用:、
变量其实就是内存中的一块空间,这块空间右“类型”,“名字”,“值”,可以用来不蹲存放同一类型的常量,可以反复使用、
数据类型
(整数型)
byte
short
int
long
(浮点型)
float
double
(字符型)、
char
(布尔型)
Boolean
数据类型转化,大赚小自动转化-----小转大要强制转化,格式byte b3=(byte)(b1+b2){需要加强制转换符}
如果int类型的值没有超过char byte short可以进行直接转换,多种数据转换,吧所有类型转换位最大的类型在进行运算
Java种的运算符
包含(+加-减*乘/除++自增--自减%取模)
用来计算代码当中的四则运算,达到阶梯的目的{如果自增放在参数钱前面,先+1在进行原酸,放在后面先原酸在+1自减相同}
Java赋值运算符
+=把左边所有变得数值相加然后赋值给左边
-=吧左边所有变量数值相减然后赋值给左边
*=吧左边所有变量数值详乘然后赋值给左边
/=吧左边所有变量数值详除然后赋值给左边
%=吧左边所有变量数值取模见然后赋值给左边
关系运算符:
==判断是否相同(基本数据类型)
!=不等于
大于
小于
<=大于等于
=小于等于
布尔运算符:
&&逻辑与两边结果是true结果是true
||逻辑或一边结果是true结果是true
!逻辑非 去翻(true-->false)
上括号逻辑异或两边只要不一致就是true
&&短路与用法和&一样
||短路或用法和|一样
字符串链接运算符:
其实就是+(前面基本数据类型用的+号){如果两边 只要有字符串类型就进行链接类型}
三目运算符:
Boolean表达式?表达式1:表达式2(如果是true就返回表达式1,如果是false返回表达式2)例如:
class ABC{
public static void main(String[] args){
int x=10;
int y=20;
intz=(x>y)?x:y
System.out.println(z)//因为x不大于y所以返回表达式2最后结果z=20;
}
}
位运算符:(位运算符主要操作位运算符)
&位于(只要以为有0则就当做位0){二进制最大的数值为2}
!位或(只要有1则就当最依赖处理)
^位异或(如果两个数想听则就按照0来处理,范泽按1处理)
~异或(取反)
向右移(向右移,最高位是0,则左边不起冲0,最高是一,就是1)
无符号向右移(无论最高位是0还是1,右边补齐0)
<<向左移(左边最高位丢弃,右边补齐0)
public static void main(String[] args){
System.out.println(6&3);
System.out.println(6|3);
System.out.println(6^3);
System.out.println(6~3);
}
if else 是个判断条件,如果相同判断正确,那么输出什么,如果错误在输出什么,如果只有一行语句可以省略里面的括号,但是不建议这样写,还可以加多个分类,一个if就是一个分类,这样就可以进行多次判断,
switch
switch(表达式){
Java语句:
break;
case 值2:
Java语句
default:
Java语句
}(如果里面的值等于之一就执行之一的值,如果等于值二就执行值二里面的语句,如果都不相等,就执行最后的语句)
注意:
1.程序遇到break之后就停止了,break可以不写,如果不写的话,会发生case穿透
2.default也可以没有
3.switch后面可以放byte,short,char,int类型的,只要可以自动转位int类型都可以,也可以放在String里面
for循环样式
for(int i=0;i<=n;i++)或i--{这是包含i的语句输出n次}
for循环嵌套{指的是for循环里面在写一个for循环,让两者互相限制判断}(for循环也可以和if判断一起应用,让if判断来限制for循环得到最后的结果)例题:
(99乘法表)
for(int i=0;i<=9;i++){
for(int j=0;j<=i;j++){
Sysout.out.println(i+""+j+"="i*j+" ")
}
}
System.out.println(" ")//输入九成九乘法表
while循环:
、while(boolea表达式){
循环体语句
控制条件语句
}
语句:
public static void main (String[] args){
int i=10;
while(i>0){
i--;
System.out.println(i)
}
}
do while语句:
初始化语句
do{
循环体语句;
控制条件语句;
}while(判断条件语句);
代码示例:
public static void main(String[] args){
int i=10;
do{
System.out.println(i);
i--;
}while(i>0);
}
三种循环的区别
for循环(初始化的表达式;条件表达式;循环之后的表达式){
java语句;
}
1.执行初始化的表达式,并且在整个训话里面只执行
2.将初始化的表达式的值在条件表达式里面进行判断
如果结果是true则继续执行循环,如果是false,则循环执行结束。
3.Java语句
4.执行循环之后的表达式
5.程序再回到第二部进行输出;
总体而言,(for循环执行的时候,先加1在进行循环支出,然后在进行循环输出)
break关键字,(如果放在循环里是停止离他最近的循环,不放在循环里表示停止输出)
conti:直接结束本次循环进入下一次循环,跳过本次循环,按照这样的规律去进行下一次循环
for(int i=0;i>=5;i++){
if(i==5){
break//结束发放运行
continue //跳转本次输出进入 下一次输出
}
system.out.println("i")
}
方法调用:
在main方法外面,静态数组里面设定参数,然后腹肌输出,最后把静态方法在main方法里调用(main方法以后用来测试代码)这样可以让代码看起来简洁整齐避免不必要的带吗
void表示空返回值,返回什么类型,就把参数的类型太呆void就可以{注意不能再买呢方法里面,注意括号组}
如果方法夸类进行盗用的话需要采用类名进行调用就可以
//同一个类里面以上两种方法都可以
有关代码:
class abc
public static void main(String[] args){
}
oublic static void abc(){
System.out.println(abc)
}
//挎包进行调用:
以上是在一个勒种的调用
如果挎包进行调用只需要在class文件前面加上类名就好
代码:
class dec{
public static void main(String[] args){
dec.abc();//调用dec中的ABC类包
}
public static void abc(){
Sysout.out.println("n3")
}
}
方法的执行顺序,是从main方法里面开始执行的,没有买呢方法执行好不出来,所以定义完之后必须放发哦买呢方法里面进行调用
return:
return是结束方法的语句,用来返回类型,结束的是整个main方法 必须要有返回值
方法重載
就是把很多类型的数据通过静态数组方法哦同意个面方法里进行编译,这种情况叫做方法重载,但有个致命的缺点就是方法名称太多不利于记忆
代码案例:
public class fangfachongzai {
public static void main(String[] args) {
System.out.println(sumint(10,20));
System.out.println(sundie(10000L,20000L));
System.out.println(abc(1.0F,2.0F));
System.out.println(one(1.1,2.2));
}
public static int sumint(int a,int b){
return a+b;
}
public static long sundie(long a,long b){
return a+b;
}
public static float abc(float a,float b){
return a+b;
}
public static double one(double a,double b){
return a+b;
}
}
方法重载:overload
方法重载的条件:
1.需要在同一类中,
2.方法名称要一样(交个虚拟机处理)
3.参数类型不行(类型,个数,循序,只要有一个不同就可以)
注意:
1.重载和返回值类型没有关系
2.重载跟修饰符烈火表的不同没有关系
形影代码:
public class fangfachongzai {
public static void main(String[] args) {
/* System.out.println(sumint(10,20));
System.out.println(sundie(10000L,20000L));
System.out.println(abc(1.0F,2.0F));
System.out.println(one(1.1,2.2));
}
public static int sumint(int a,int b){
return a+b;
}
public static long sundie(long a,long b){
return a+b;
}
public static float abc(float a,float b){
return a+b;
}
public static double one(double a,double b){
return a+b;
*/
}//参数个数不同m1属于重载
public static void m1(){
}
public static void m1(int i){
}//参数类型不同m2构成重载
public static void m2(int i){
}
public static void m2(long i){
}//参数顺序不同,m3方法构成重载,但开发中不这样使用
public static void m3(int i,long l){}
public static void m3(long l,int i){}
public static void m4(){}
//public static void m4(){}这样不行属于重命名会报错
/*public static void m5(){}重载跟返回值类型没有关系
public static int m5(){
return 1;//有参数类型返回int类型
}*/
}
Java栈的特点
先进后出(后来居上){有存贮空间,不是无限大}
递归按照一定的规律进行计算一次递增/或递减然后算出最后的结果
相关代码:
public class diguitimu {
/* public static void main(String[] args) {
int n=5;
int one=n(n);
System.out.println(one);
}
public static int n(int n){
int one=0;
for (int i = 0; i <=n ; i++) {
one+=i;
}
return one;
}/
//递归方法
/ public static void main(String[] args){
int two=one(5);
System.out.println(two);
}
//当n=5时, 最终等于5+sum(4);
//当n=4时, 最终等于5+sum(3);
//当n=3时, 最终等于5+sum(2);
//当n=2时, 最终等于5+sum(1);
//当n=1时, 最终等于sum;
//递增此地
public static int one(int n){
if (n==1){
return 1;
}else {
return n+one(n-1);
}
}//格式:参数+参数-1;递增就是自己调用自己,要有一个结束条件,否则会出现一个错误
//使用递归计算n的接触
/
public static void main (String[] args){
long abc=one(8);
System.out.println(abc);
}
public static long one(long a){
if (a==1){
return a;
}else{
return aone(a-1);
}
}//利用递归完成a的计算
//当a=8时, 最终等于5+sum(7);
//当a=7时, 最终等于5+sum(6);
//当a=6时, 最终等于5+sum(5);
//当a=5时, 最终等于5+sum(4);
//当a=4时, 最终等于5+sum(3);
//当a=3时, 最终等于5+sum(2);
//当a=2时, 最终等于5+sum(1);
//当a=1时, 最终等于sum;
/*
- public static void main(String[] args){
- int i=1024;
- m1(i);
- system.out.println("abc");
- }
- public static void m1(int i){
- m2(i);
- }
- public static void m2(int i){
- m2(i);
- }
- public static void m3(int i){
- system.out.println("m3中的方法i="i);
- }
- public static void m4(int i){
- }