java基础语法菜鸟教程(JAVA基础语法)

feifei123 发布于 2025-02-24 阅读(8)

JAVA基础语法1、关键字:被Java语言赋予了特殊含义的一些单词,Java中的关键字都是小写的比如class int long double等2、标识符:用户根据自己的需要定义的一些具有标识意义的符号,比如类名,函数名,数组名等。

类名的每一个单词的第一个字母大写用户自定义的变量小写标示符由美元符号$,数字,字母,下划线但关键字中任何字母大写了都可以用作标识符,但是尽量根据具体情况起一些有意义的标识符名字3、注释:java语言中三种格式的注释 //表示单行注释 /* */表示多行注释 /***/文档注释

注释作用:注解说明程序;调试程序注意:多行注释中不要嵌套多行注释编译器在编译java源文件时,生成的class文件是没有注释的注释的应用:学习写代码之前,先通过注释明确: 需求,思路,步骤对已有进行理解时,对细节代码部分进行注释说明。

方便于代码的理解面试和开发时,一定要对自己写的代码进行注释以体现专业性注释的应用养成习惯代码是思想的体现先有思想再有代码在一个公司当接到一个项目时候需要做的四件事情:1、需求分析(时间最长,也是最关键),2、项目设计,3、代码编程(目前自己就属于这个阶段的人员,必须努力),4、程序测试(对于一些大公司还会做项目评估。

)1、 Java中的数据类型:1、常量:数值不会变化的数据就是常量,也可说是固定不变的值比如A 123 3.14 都属于常量值Java中常量的分类:1)整数常量:所有整数2)小数常量:所有小数3)布尔(boolean)型常量。

较为特有,只有两个数值true false4)字符常量将一个数字字母或者符号用单引号( )标识5)字符串常量将一个或者多个字符用双引号(" ")标识6)null常量只有一个数值就是:null.对于整数:有四种表现形式:二进制:0,1 ,满2进1。

八进制:0-7 ,满8进1, 用0开头表示十进制:0-9 ,满10进1十六进制:0-9,A-F,满16进1.,用0x开头表示进制的由来:任何数据在计算机中都是以二进制的形式存在的二进制早起由电信号开关演变而来。

一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦所以就想把一大串缩短点,将二进制中的三位用一位表示这三位可以取到的最大值就是7.超过7就进位了,这就是八进制但是对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,四个二进制位最大是15,这就是十六进制。

进制越大,表现形式就越短2、变量:数值不确定的量就是变量,也就是说随时可以更改的量变量有自己的作用范围Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间。

Java中的数据类型分为两大类:基本数据类型和引用数据类型基本数据类型有八种:整型:byte型(1byte)、short型(2byte)、int型(4byte)、long(8byte)浮点型数据:float(4byte)、double(8byte)。

布尔型:boolean(1byte)字符型:char(2byte)引用数据类型:数组、类、接口所有的整数都默认为int型,所有的浮点型数据都默认为double型3、 类型转换:自动数据类型转换和强制数据类型转换

自动数据类型转换(隐式数据类型换):所有的byte型、short型和char的值将被提升到int型强制数据类型转换:当使用的数据类型和准备存放的空间类型不相符,并且这个数据在当前这个空间中存放不下,但是还必须存放的时候使用强转。

案例:自动类型提升byte b = 3;int x = 4;x = x + b;//b会自动提升为int类型进行运算强制类型转换byte b = 3;/定义一个byte型b空间计算机会判断右侧的这个值是否能在当前byte空间存下,若能存下就正常存放,若 存不下就报错。

但是int例外b = b + 4;//报错 原因是计算机在内存中先将byte型的b自动提升为int 然后和4运算,运算结果为int型无法存放到byte型的b空间b = (byte)(b+4);//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。

byte b1=3,b2=4,b;b=b1+b2;不可以,是因为b1和b2是变量,因为变量的值会变化,不确定具体的值,所以默认使用int类型进行存储b=3+4;//3和4都是常量,所以java在编译时期会检查该常量的和是否超出byte。

类型的范围如果没有可以赋值4、 算术运算符: + - * / %如果对负数取模,可以把模数负号忽略不记,如:5%-2=1但被模数是负数就另当别论对于除号"/",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。

例如:int x=3510;x=x/1000*1000; x的结果是? 注意当运算符两侧类型统一时结果和运算数保持一致5、符合运算符: = , +=, -=, *=, /=, %=示例:int a,b,c; a=b=c =3;。

int a = 3; a+=5;等同运算a=a+5;思考:short s = 3;s=s+2;//编译失败,因为s会被提升为int类型,运算后的结果还是int类型无法赋值给short类型s+=2; //编译通过,因为+=运算符在给s赋值时,自动完成了强转操作。

6、 自增、自减运算 ++ --案例:class Test2{public static void main(String[] args){int a=3;a++; 自增、自减谁在左边先算谁System.out.println(a); 结果为4

int i=3;i=i++; 需要注意,除了自增还有赋值,因此必须是先算完右边后算左边System.out.println(i); 结果为3int a1=3,b1;b1=(a1++)+(++a1)+(++a1); 3+5+6

System.out.println(a1+","+b1);} 结果a1值6 b1值为14}7、

逻辑运算符:比较运算符运算结果要么是true 要么是false 总结 所有运算符计算机后都会有结果逻辑运算符运用于连接两个布尔类型的表达式逻辑运算符用于连接布尔型表达式,在Java中不可以写成3

&:与运算符的特点:true & true = truetrue & false = falsefalse & true = falsefalse & false = false总结: &只要一边为false 结果就为false ,只有两边都为true 结果才为true

| :或、或者运算符:true | true = truetrue | false = truefalse | true = truefalse | false = false总结: |只要一边为true 结果就为true ,只有两边都为false 结果才为false

^ :异或运算:true ^ true = falsetrue ^ false = truefalse ^ true = truefalse ^ false = false总结:两边都为结果相同为false,两边结果不同为true。

! : 非运算 : 判断事物的另一面总结 : 非true 为false 非false 为 true&& :双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算|| :双或时,左边为真,右边不参与运算。

总结:"&"和"&&"的区别:单&时,左边无论真假,右边都进行运算;双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算"|"和"||"的区别同理,双或时,左边为真,右边不参与运算异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。

8、关系运算(比较运算)

9、移位运算:小知识:局部代码块:局部代码块,可以定义局部变量的生命周期,但这个变量不在使用的时候空间就被释放程序要保证先能运用,然后是优化优化分为设计优化和性能优化10、 三元运算符:表达式1?表达式2:表达式3;三元运算符计算完后必须有一个确定的结果。

11、 判断结构的三种基本形式:判断结构的条件表达式结果只有两种结果true和falseif语句的第一种格式:if(条件表达式){执行语句;}if语句的第二种格式:if(条件表达式){执行语句;}else//否则

{执行语句;}if语句第三种格式:if(条件表达式){执行语句;}else if (条件表达式){执行语句;}……else{执行语句;}总结:if(a>1)b = 100;elseb = 200;b = a>1?100:200;//三元运算符就是if else 语句简写格式。

简写格式什么时候用?当if else运算后,有一个具体的结果时,可以简化写成三元运算符12、 switch选择语句if:1,对具体的值进行判断2,对区间判断3,对运算结果是boolean类型的表达式进行判断。

switch:1,对具体的值进行判断2,值的个数通常是固定的对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存效率相对高一点13、 三种循环语句:while do-while for 需要注意while和for循环身后不直接加分号。

while(条件表达式){执行语句;}练习:获取1到10 10个数字的和思路:1,每次参与加法的数值不确定2,每次的出现的和数据也不确定3,发现参与加法运算的数值有递增规律4,每一次都是加法运算在重复,并且都是和再加上下一个数值。

步骤:1,定义一个变量,记录住参与加法运算的数据2,定义一个变量,记录中每一次的出现的和3,对于记录参与加法运算的数据进行自增4,因为加法运算需要重复,就要想到循环结构累加思想int x = 1;//记录参与加法的数据。

int sum = 0;//记录住每一次的和while(x<=100){sum = sum + x;x++;}System.out.println("sum="+sum);练习:1~100之间 6的倍数出现的次数。

要求:自己独立完成思想的书写和步骤的文字描述思路:1、需要从1到100把每一个数提供出来而这个数在不停得变化,因此需要一个变量来提供这个数2、每提供一个数是不是6的倍数,需要用if结果来判断3、当这个数能是6的倍数的时候,就需要一个空间来统计一次,而具体有多少个数是6的倍数,也不确定, 因为还一个变量来统计这个个数,即计数器

步骤:计数器思想int x = 1;int count = 0;while(x<=100){if(x%6==0)count++;x++;}System.out.println("count="+count);

do{执行语句;}while(条件表达式);for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句;(循环体)}例如:for(int x = 1; x<3; x++){System.out.println("x="+x);

}for和while的特点:1,for和while可以互换2,格式上的不同,在使用上有点小区别如果需要通过变量来对循环进行控制,该变量只作为循环增量存在时,此时使用for最好什么时候使用循环结构呢?当对某些代码执行很多次时,使用循环结构完成。

当对一个条件进行一次判断时,可以使用if语句当对一个条件进行多次判断时,可以使用while语句 注意:在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要循环通常情况下,需要定义条件,需要控制次数循环嵌套、break和continue的用法、函数(方法)、函数重载、数组

一、循环嵌套:大全套小圈思想for(int x=0; x<4; x++)//外循环控制的是行数{for(int y=0; y<5; y++)//内循环控制的是每一行的个数{System.out.print("*");

}System.out.println();}二、break和continue用法:1、break:跳出,break作用的范围:要么是switch语句,要么是循环语句当break语句单独存在时,下面不要定义其他语句,因为执行不到。

break跳出所在的当前循环如果出现了循环嵌套,break想要跳出指定的循环,可以通过标号来完成for(int x=0; x<3; x++){if(x==1)break;System.out.println("x="+x);

}语句标号:xiaoqiang:for (int x=0; x<3 ;x++ ){wangcai:for (int y=0; y<4 ; y++){System.out.println("x="+x);

break xiaoqiang;}}2、continue:继续,作用的范围:循环结构continue:结束本次循环,继续下次循环如果continue单独存在时,下面不要有任何语句,因为执行不到for (int x=0; x<11 ;x++ )。

{if(x%2==0)continue;System.out.println("x="+x);}xiaoqiang:for (int x=0; x<3 ;x++ ){wangcai:for (int y=0; y<4 ; y++)

{System.out.println("x="+x);continue xiaoqiang;}}三、函数(方法):函数的书写格式:修饰符 返回值类型 函数名(参数列表){返回值;}1、定义函数时需要注意:

功能中只定义所需内容不是该功能所需的内容不要定义如果非要定义,也是单独定义一个功能来体现 以后开发时,尽量都将功能以不同的函数来体现不要将代码都定义在主函数中主函数的作用是:对已有的功能的进行调用可以理解为用于功能的测试。

函数名就是一个自己定义的标示符函数名的定义,要尽量体现出这个函数的功能是为了增强该函数的阅读性,方便于调用者使用所以函数名一定要有起的有意义2、定义函数时候需要有两个明确:1)这个函数会得到什么结果,也就是返回值是什么。

2)有没有未知内数据参与运算3、函数重载什么时候使用?重载:当需要完成某些功能相似或者相近的操作,但由于参数个数,或者参数类型不同时候可以使用函数重载在一个类中,可以出现两个以上的同名函数只要它们的参数个数或者参数类型不同,这就是函数的重载。

1,大圈套小圈思想,什么时候使用?我有一种自己重复的动作,而这种情况里面有包含着另外一种往复重复的动作这个时候就可以使用大圈套小圈的思想2,break,continue作用的范围和作用break 可以作用于switch和循环。

作用是跳出switch和循环作用范围是当前所属的switch和循环,但有标号的时候跳出标号所指的switch和循环.continue 只能作用于循环,作用结束本次循环,接着进入下次循环(循环不会结束)作用范围是当前所属的循环,但有标号的时候就要接着进入标号所属的循环。

3,如何理解函数?(特点,注意事项)函数即就是方法,就是封装了某一功能的一个代码快,具有自己的名字和访问权限以及返回类型函数里面不能再嵌套函数同时需要注意,静态方法只能调用静态方法注意事项:首先函数名的书写应该规范化,见名知义。

一个函数就完成当前应该完成的功能,不是它的应该完成的功能尽量不要写在这个函数内部当调用一个函数时,不要返回任何数据的时候,此时返回值必须为void类型,不能用其他类型代替,同时也可以在函数中加入一个不带返回值的return语句。

4,怎么定义一个函数?定义函数:根据实际问题可以进行分析,然后明确这个函数完成什么功能,会得到一个什么样的结果,以及结果应该如何处理和函数中具体有多少未知变量参与运算函数定义格式:修饰符 返回值类型 函数名( 形参类型 形式参数名 , 形参类型 形式参数名 )。

{}5,函数重载什么时候使用?重载:当需要完成某些功能相似或者相近的操作,但由于参数个数,或者参数类型不同时候可以使用函数重载。

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

标签:  函数 运算 循环 语句 类型 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。