前言:
当前咱们对“三元运算和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语句类似吗