Java基础总结

  一:java中的语句规则:

1.java每行代码以(;)结尾。

2.Java中的注释有:

(1)// 注释一行

        以“//”开始,终止于行尾,一般作单行注释,可放在语句的后面

(2)/*……*/ 一行或多行注释

         以“/*”开始,最后以“*/”结束,中间可写多行。

(3)/**……*/

          以“/**”开始,最后以“*/”结束,中间可写多行。这种注释主要是为支持JDK 工具javadoc而采用的。

3.Java中的合法标示符要符合一下规则:

1)要以大小写字母或者美元符号或者下划线开头,不能以数字开头

扫描二维码关注公众号,回复: 26927 查看本文章

2)标示符命名不能用关键字,关键字是java内部所用到的标示符,为了避免混淆,所以不能用。

3)类,变量,方法名命名尽量有一定规则,不要随便命名,虽然系统不会报错,但是为了项目开发后期的维护,所以尽量起比较有意义的名字,并且命名要符合一定的规则,如驼峰规则。

    二:java基本数据类型

Java数据类型被分为:基本数据类型和引用数据类型。

Java中有8中基本数据类型:

  布尔型(boolean)、字节型(byte )、字符型(char) 、短整型(short) 、整型(int)、长整型(long)、单精度(float)、双精度(double) 

注:String类型不是基本数据类型,它被定义为类,属于引用数据类型。

由于字符串是常用的数据类型。Java提供了对String类型特殊操作,直接引用,例如:String s="hello  world"

:定义变/常量和变量的初始化

Java定义变量结构:类型  变量名,这里的变量名要符合标示符规则

1.变量的声明

格式:类型 变量名[,变量名]=初值,… ;

赋值:[类型] 变量名=值

如:int a=5 , b=6 , c , d ;

说明:

(1)变量名必须在作用域中是唯一的,不同作用域中才允许相同名字的变量出现;

(2)只要在同一代码块没有同名的变量名,可以在程序中任何地方定义变量,一个代码块就是两个相对的“{ }”之间部分。

2.变量的使用范围

每个变量的使用范围只在定义它的代码块中,包括这个代码块中包含的代码块。

在类开始处声明的变量是成员变量,作用范围在整个类;

在方法和块中声明的变量是局部变量,作用范围到它的“}”;

3.变量类型的转换

Java 可以将低精度的数字赋值给高精度的数字型变量,反之则需要强制类型转换。

强制转换格式:(数据类型)数据表达式

字节型 短整型 字符型 整型 长整型 单精度实型 双精度实型

常量

Java中的常量值是用文字串表示的,它区分为不同的类型,如整型常量123,实型常1.23,

字符常量‘a’,布尔常量true、false以及字符串常量“This is a constant string”。

Java 的常量用final 说明,约定常量名一般全部使用大写字母,如果是多个单词组合在一起的,单词之间用下划线连接,常量在程序执行时不可更改。


说明:默认类型为64 位double 双精度类型(D 或d),数字后面加F 或f 则是32 位float 单

精度(实数)类型

五:运算符

1、赋值运算符

    赋值运算符用于把一个数赋予一个变量。赋值运算符两边的类型不一致时,那么如果左侧的数据类型的级别高,则右边的数据将转换成左边的数据类型在赋予左边的变量,否则需要强制类型转换。

赋值运算符包括= 、+=、-=、*=、%=、/=等。

2、算术运算符

算数运算符用于对整型数或者浮点数进行运算,java语言中的算术运算符包括二元运算符和一元运算符。所谓的几元运算符即参加运算的操作数的个数。

1) 二元运算符

Java的二元运算符有+(加)、-(减)、*(乘)、/(除)、%(取余数)。

2) 一元运算符

Java的一元运算符有++(自加)、--(自减)

3、关系运算符

关系运算符用来比较两个值,返回布尔类型的值true或false。

等于 不等于 小于 小于等于 大于等于 大于

==    !=   <     <=       >=      >

4、条件运算符

条件运算符的作用是根据表达式的真假决定变量的值。

1> 格式:条件表达式 ? 表达式2 :表达式3

2> 功能:条件表达式为true,取“表达式2”值,为false,取“表达式3”的值

5、 逻辑运算符

运算符    结果

~        按位非(NOT)(一元运算)

&        按位与(AND) 

|        按位或(OR) 

^        按位异或(XOR)

>>       右移

>>>     右移,左边空出的位以0填充 ;无符号右移

<<      左移 

&=      按位与赋值 

|=      按位或赋值

^=      按位异或赋值

>>=     右移赋值

>>>=    右移赋值,左边空出的位以0填充 ;无符号左移

<<=     左移赋值

按位非(NOT) 

按位非也叫做补,一元运算符NOT“~”是对其运算数的每一位取反。例如,数字42,它的二进制代码为: 00101010 

经过按位非运算成为 11010101 

六:流程控制语句

分支语句

1.简单的if.....else语句

If(条件){

如果条件为真、、、、

}

Else{

如果条件为假、、、、、、

}

2、只有if的语句:

If(条件){

如果条件为真,执行。。。如果为假,不执行

}

3、switch语句是多分枝语句,基本语法:

Switch(expr){

Case  value1:

Statements;

Break;

........

Case  valueN:

Statements;

Break;

Default:

Statements;

Break;

}

注:1.expr必须是与int类型兼容的类型,即为byteshortcharint类型中的其中一种

 2.Case  valueN:valueN也必须是int类型兼容的类型,并且必须是常量

3.各个case子句的valueN表达式的值不同

4.Switch语句中只能有一个default子句。

循环语句

1.while语句2.do......while语句(此处省略三百字)

3.for语句

基本格式:for(初始化;循环条件;迭代部分)

功能:(1)第一次进入for 循环时,对循环控制变量赋初值;

(2) 根据判断条件检查是否要继续执行循环。为真执行循环体内语句块,为假则结束循环;

(3)执行完循环体内语句后,系统根据“循环控制变量增减方式”改变控制变量值,再回

(3) 到步骤(2)根据判断条件检查是否要继续执行循环。

4.流程跳转语句:break,continuereturn语句用来控制流程的跳转

1break:从switch语句,循环语句或标号标识的代码块中退出

2continue:跳出本次循环,执行下次循环,或执行标号标识的循环体;

3)return:退出本方法,跳到上层调用方法。

4)Break语句和continue语句可以与标号联合使用。标号用来标识程序中的语句,标号的名字可以是任意的合法标识符。

带有标号的循环体:

Loopswitch(expr){

}

七:字符串

字符串的几种用法:

拼接    直接用“+”把两个字符串拼接起来

例如:String firstName = “li”;

      String secondName = “ming”;

      String fullName = firstName+secondName;

检测字符串是否相等   检测两个字符串内容是否相等时使用“equals”;比较两个字符串的引用是否相等时用“==”

得到字符串的长度     字符串变量名.length();

StringStringBufferStringBuild区别

String 字符串常量
StringBuffer 
字符串变量(线程安全)
StringBuilder 
字符串变量(非线程安全)
简要的说, 
String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,那速度是一定会相当慢的。
而如果是使用 
StringBuffer 类则结果就不一样了,每次结果都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,再改变对象引用。特别是字符串对象经常改变的情况下。而在某些特别情况下, String 对象的字符串拼接其实是被 JVM 解释成了 StringBuffer 对象的拼接,所以这些时候 String 对象的速度并不会比 StringBuffer 对象慢,而特别是以下的字符串对象生成中, String 效率是远要比 StringBuffer 
在大部分情况下 StringBuffer > String
StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。 append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。

在大部分情况下 StringBuilder > StringBufferjava.lang.StringBuilder

例如:public class HelloWorldApp{

public static void main(String[] args){

System.out.println(“hello world!”);

}

}

猜你喜欢

转载自blog.csdn.net/songyouxiaoyi/article/details/79948929