龙空技术网

JAVA基础语法

窦你玩小陶 121

前言:

当前咱们对“三元运算和ifelse语句类似吗”可能比较重视,姐妹们都想要了解一些“三元运算和ifelse语句类似吗”的相关文章。那么小编也在网上汇集了一些有关“三元运算和ifelse语句类似吗””的相关内容,希望大家能喜欢,同学们一起来了解一下吧!

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 false。

4)字符常量。将一个数字字母或者符号用单引号( ' ' )标识。

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); 结果为3

int a1=3,b1;

b1=(a1++)+(++a1)+(++a1); 3+5+6

System.out.println(a1+","+b1);

} 结果a1值6 b1值为14

}

7、

逻辑运算符:比较运算符运算结果要么是true 要么是false 总结 所有运算符计算机后都会有结果。逻辑运算符运用于连接两个布尔类型的表达式

逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。

&:与运算符的特点:

true & true = true

true & false = false

false & true = false

false & false = false

总结: &只要一边为false 结果就为false ,只有两边都为true 结果才为true

| :或、或者运算符:

true | true = true

true | false = true

false | true = true

false | false = false

总结: |只要一边为true 结果就为true ,只有两边都为false 结果才为false

^ :异或运算:

true ^ true = false

true ^ false = true

false ^ true = true

false ^ false = false

总结:两边都为结果相同为false,两边结果不同为true。

! : 非运算 : 判断事物的另一面。

总结 : 非true 为false 非false 为 true

&& :双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

|| :双或时,左边为真,右边不参与运算。

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

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

9、移位运算:

小知识:局部代码块:局部代码块,可以定义局部变量的生命周期,但这个变量不在使用的时候空间就被释放。

程序要保证先能运用,然后是优化。优化分为设计优化和性能优化。

10、 三元运算符:表达式1?表达式2:表达式3;三元运算符计算完后必须有一个确定的结果。

11、 判断结构的三种基本形式:判断结构的条件表达式结果只有两种结果true和false

if语句的第一种格式:

if(条件表达式)

{

执行语句;

}

if语句的第二种格式:

if(条件表达式)

{

执行语句;

}

else//否则

{

执行语句;

}

if语句第三种格式:

if(条件表达式)

{

执行语句;

}

else if (条件表达式)

{

执行语句;

}

……

else

{

执行语句;

}

总结:if(a>1)

b = 100;

else

b = 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,函数重载什么时候使用?

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

标签: #三元运算和ifelse语句类似吗