Java 的基本程序设计结构

2020-12-13 16:06

阅读:623

(java特有)

格式:/**

         * @author  指定java程序的作者

           *@version  指定源文件的版本

         *@param   方法的参数说明信息

         */

1)正确的注释和注释风格:

  使用文档注释来注释整个类或整个方法。

  如果注释方法中的某一个步骤,使用单行或多行注释。

  正确的缩进和空白

  使用一次tab操作,实现缩进

  运算符两边习惯性各加一个空格。比如:2 + 4 * 5。

变量:

变量的概念:

  • 内存中的一个存储区域;
  • 该区域的数据可以在同一类型范围内不断变化;
  • 该区域有自己的名称(变量名)和类型(数据类型);

变量的作用:

  用于在内存中保存数据;

使用变量注意:

  Java中每个变量必须先声明,后使用

变量的作用域:一对{ }之间有效  

初始化值

  使用变量名来访问这块区域的数据

声明变量:

  语法: 

  例如:int var;

变量的赋值:

  语法: = 

  例如:var = 10;

声明和赋值变量:

  语法:     = 

  例如:int var = 10;

常量:


数据类型:

技术图片

 

 技术图片

 

 技术图片

Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。

java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’

java程序中变量常声明为int型,除非不足以表示大数,才使用long

bit: 计算机中的最小存储单位。byte:计算机中基本存储单元。

技术图片

Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。

char 型数据用来表示通常意义上“字符”(2字节);

注意:为了将字符存储到计算机中,需要引入一个字符编码集,将字符先通过字符编码集解析成对应的二进制,然后进行存储;

字符型常量的三种表现形式:

1)字符常量是用单引号(‘ ’)括起来的单个字符,涵盖世界上所有书面语的字符。例如:char c1 = ‘a‘;   char c2 = ‘中‘; char c3 =  ‘9‘;

2)Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如:char c3 = ‘\n’;  // ‘\n‘表示换行符;

3)直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a 表示 \n。

char类型是可以进行运算的。因为它都对应有Unicode码。

布尔类型:boolean:

boolean 类型适于逻辑运算,一般用于程序流程控制:

  • if条件控制语句;                 
  • while循环控制语句;
  • do-while循环控制语句;     
  • for循环控制语句;

  boolean类型数据只允许取值true和false,无null。

  不可以0或非 0 的整数替代false和true,这点和C语言不同。


类型转换:

1)自动类型转换:

  容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:

 技术图片

 

 

(1)有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。     

(2)byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。

(3)当把任何基本类型的值和字符串(String)进行连接运算时(+),基本类型的值将自动转化为字符串类型。

2)强制类型转换:

  自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(()),但可能造成精度降低或溢出,格外要注意。

  通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。

  如: String a = “43”;

  int i = Integer.parseInt(a);

  boolean类型不可以转换为其它的数据类型。

3)隐式类型转换:

  在三元运算符中。

运算符:

 

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。包含有:

 

  1)算术运算符

技术图片

 

 

 

算术运算符的注意问题:

如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。

对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:int x=3510;x=x/1000*1000;  x的结果是?

“+”除字符串相加功能外,还能把非字符串转换成字符串.例如:System.out.println("5+5="+5+5); //打印结果是?

 

  2)赋值运算符

1)符号:=

  当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。支持连续赋值。

2)扩展赋值运算符(复合运算符): +=, -=, *=, /=, %=

  注意:运算的结果不会改变原变量的数据类型(在复合运算符中,隐藏了强制转换,会自动转换成前面的操作数的类型);

  3)比较运算符(关系运算符)

技术图片

  1)关系运算符用来进行比较运算,操作数与关系运算符组成关系运算表达式;

  2)关系运算符的结果时布尔值;

  3)>         =      

  4)==      !=  :基本类型和引用类型都可以;

  比较运算符的结果都是boolean型,也就是要么是true,要么是false。

  比较运算符“==”不能误写成“=” 。

  4)逻辑运算符

1)逻辑运算符与布尔操作数一起使用,组成逻辑表达式,所以,操作数要求是boolean值,运算结果也是Boolean值;逻辑运算符用于连接布尔型表达式,例:a>90&&b80;

注意:在Java中不可以写成33 & x

&       :逻辑与,作为逻辑运算符时,两个操作数都是真时,为真,任意一个为假,则为假

|                :逻辑或,有一个为真,就为真;

^               :逻辑异或,相同为假,不同为真;

!          :逻辑反/逻辑非,非真即假;

&&          :短路与;

||               :短路或;

2) & | 与 && || 的区别:

(1)运算规则相同;

      (2) && || 只判断第一个操作数;

             & 无论任务情况,它的两边的表达式都会参与计算;

             && 当它的左边为false时,则将不会计算其右边的表达式;即左false则false;

             | 与 || 类似;

单&时,左边无论真假,右边都进行运算;

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

“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。

异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。

           理解:异或,追求的是“异”!

      逻辑运算符的优先级:! > & > ^ > |

技术图片

 

 

 

  5)位运算符

  位运算符先将十进制数转成对应的二进制的补码形式进行运算,并且最高位参与运算;

技术图片

 

 

  6)三元运算符

  

1)语法格式:

操作数为3个,语法格式:x ? y : z

2)执行过程:

其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。

3)作用:经常用来代替简单的if else判断:

4)三元运算符与if-else的联系与区别:

      1)三元运算符可简化if-else语句

      2)三元运算符要求必须返回一个结果。

      3)if后的代码块可有多个语句

运算符的优先级:

小括号>自增、自减>算术运算 > 位运算> 关系运算 > 逻辑运算 > 条件运算 > 赋值运算

运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如右表,上一行运算符总优先于下一行。 

只有单目运算符、三元运算符、赋值运算符是从右向左运算的。

技术图片

 

 

 


评论


亲,登录后才可以留言!