2019-12-28

                                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 a
one(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){
  • }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容

  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,835评论 0 2
  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 6,811评论 0 9
  • DAY 05 1、 public classArrayDemo { public static void mai...
    周书达阅读 644评论 0 0
  • 1 顺序语句 语句:使用分号分隔的代码称作为一个语句。 注意:没有写任何代码只是一个分号的时候,也是一条语句,...
    哈哈哎呦喂阅读 364评论 0 0
  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 1,571评论 0 9