Java语言基础

来源:互联网 发布:配电网优化运行 编辑:程序博客网 时间:2024/05/01 07:44

                                                                      Java编程基础

一,Java的基本语法:

1,Java代码的基本格式

●Java中的程序代码都必须放在一个类中,类需要用class关键字定义,在class前面可以有一些修饰符

例如:修饰符   class    类名

   {

程序代码块;

   }

●在编写程序代码时,需要特别注意几个关键:

①Java中的结构定义语句用于声明一个类或方法,功能定义语句用于实现具体的功能。每条功能执行

                   语句的最后都必须用分号(;)结束。                                                                                          

②Java语言是严格区分大小写的。

③在编写Java代码时,没有严格要求用什么样的格式来编排程序代码,但是,出于可读性的考虑,应

让自己编写的代码整齐美观、层次清晰。

④Java中的一句连续字符串不能分开在两行中写,如果想将一个太长的字符串分开写,可以先将这个 字符串分成两个字符串,然后用+将其连接,在+处断行。

2,Java中的注释:

用于注解说明解释程序的文件就是注释。

●提高了代码的阅读性。

●Java中的注释格式:

*单行注释

格式://注释文字

*多行注释

格式:/*注释文字*/

*文档注释

格式:/**注释文字*/

●对于单行和多行注释,被注释的文字,不会被JVM执行。

●对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。

●将自己的思想通过注释先整理出来,在用代码去体现。因为代码仅仅是思想的一种体现形式而已。

3,Java中的标识符

●在程序中自定义的一些名称。

●由26个英文字母大小写,数字:0-9符号:_$组成

●定义合法表示符规则:

①数字不可以开头。

②不可以使用关键字。

●注意:在起名字的时候,为了提高阅读性,要尽量有意义。

●Java中的名称规范:

①包名:多单词组成时所有字母都小写。

*xxxyyyzzz

②类名接口名:多单词组成时,所有单词的首字母大写。

*XxxYyyZzz

③变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。

*xxxYyyZzz

④常量名:所有字母都大写。多单词时每个单词用下划线连接。

*XXX_YYY_ZZZ

4,Java中的关键字

●关键字是编程语言里事先定义好并赋予了特殊含义的单词,也称作保留字。

Java中的关键字有:

●使用Java关键字时,需要注意的地方:

①所有的关键字都是小写的。

②程序中的标识符不能以关键字命名。

5,Java中的常量与变量

●常量表示不能改变的数值。

●Java中常量的分类:

①整数常量。所有整数

②小数常量。所有小数

③布尔型常量。较为特有,只有两个数值。true false。

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

⑤字符串常量。将一个或者多个字符用双引号标识。

⑥null常量。只有一个数值就是:null。

●对于整数:Java有三种表现形式。

①十进制:0-9,满10进1.

②八进制:0-7,满8进1.用0开头表示。③十六进制:0-9,A-F,满16进1,用Ox开头表示。

●进制的基本转换

①十进制二进制互转

*十进制转成二进制除以2取余数

*二进制转成十进制乘以2的幂数

②十进制八进制互转

③十进制十六进制互转

④负数的二进制表现形式

*对应的正数二进制取反加1

●变量的概念:

①内存中的一个存储区域

②该区域有自己的名称(变量名)和类型(数据类型)

③该区域的数据可以在同一类型范围内不断变化

●为什么要定义变量:

原来不断存放同一类型的常量,并可以重复使用

●使用变量注意:

变量的作用范围(一对{}之间有效)

初始化值

●定义变量的格式:

数据类型变量名 = 初始化值;

注:格式是固定的,记住格式,以不变应万变。

●理解:变量就如同数学中的未知数。

●Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内

存空间。


整数默认:int小数默认:double

●自动类型转换(也叫隐式类型转换)

●强制类型转换(也叫显式类型转换)

●类型转换的原理

●表达是的数据类型自动提升

①所有的byte型、short型和char的值将被提升到int型。

②如果操作数是long型,计算结果就是long型;

如果操作数是float型,计算结果就是float型;

如果一个操作数是double型,计算结果就是double型。

●练习:

①byte b1 = 3,b2 = 4 ,b;

b = b1 +b2;//错误。在Java中两个byte相加,怕两个byte的和byte放不下,所以把他们强转为int,这里的强转是隐式的,然而左边的b还是byte类型,所以会报错。

b = 3+4;//正确。3+4的和是7.Java就会先判断,7是不是byte类型,结果是,所以直接把把7赋给左边。

二,Java中的运算符:

1,算术运算符

●算术运算符的注意问题

①如果对负数取模,可以把模数负号忽略不记,如:5%-2=1.但被模数是负数就另当别论。

②对于除号“/”,它的整数除和小数除是有区别的:整数直接做除法时,只保留整数部分而舍弃小数部分。

*例如:int x = 3510;x = = /1000*1000; x结果是3000.

③“+”除字符串相加功能外,还能把非字符串转换成字符串,

*例如:System.out.println("5+5"+5+5);//打印结果是:5+5=55

2,赋值运算符

●符号:

=,+=,-=,*=,/=,%=

●实例:

①int a,b,c;a=b=c=3;

int a = 3; a+=5;等同于运算a= a+5;

3,比较运算符

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

●注二:比较运算符“==”不能误写成“=”。

4,逻辑运算符


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

●&和&&的区别:

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

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

“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

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

5,位运算符


位运算是直接对二进制进行运算。


3,判断结构

三,if条件语句

①if语句:if(条件表达式)②if…else语句:if(条件表达式)③if…else  if…else语句:if(条件表达式)

{{ {

执行语句;执行语句; 执行语句;

}} }

elseelse  if(条件表达式)

{{

执行语句;执行语句;

}}

else

{

执行语句;

}

●if语句特点:

①每一种格式都是单条语句。

②第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。

③条件表达式无论写成什么样子,只看最终的结构是否是true或者false;

●练习:

/*
判断结构的练习。
*/
class IfTest
{
public static void main(String[] args)
{


//需求1:根据用户定义的数值不同,打印对应的星期英文。
int num = 1;
if(num==1)
System.out.println("monday");
else if(num==2)
System.out.println("tsd");
else if(num==3)
System.out.println("std");
else
System.out.println("nono");
//需求2:根据用于指定月份,打印该月份的所属的季节。
//3,4,5 春季 6,7,8 夏季9,10,11秋季12,1,2,冬季

int x = 4;
if(x==3 || x==4 || x==5)
System.out.println("春季");
if(x==6 || x==7 || x==8)
System.out.println("夏季");
if(x==9 || x==10 || x==11)
System.out.println("秋季");
if(x==12 || x==1 || x==2)
System.out.println("冬季");





System.out.println("Hello Word!");
}


}

/*
学习练习运算符
*/
class Xuexi1
{
public static void main(String[] args)


{
int m = 8 ,n=3;

System.out.println("n="+n+"m="+m);
/*
//通过第三方变量。
int temp=n;
n=m;
m=temp;
System.out.println("n="+n+"m="+m);
*/
//不用第三方变量。
/*
n=m+n;//如果m和n的值非常大,容易超出int的范围。
m=n-m;
n=n-m;//m已经是n-m。
System.out.println("n="+n+"m="+m);
*/


        n=n^m;
m=n^m;//(n^m)^m;
n=n^m;//(n^m)^n
System.out.println("n="+n+"m="+m);
        }
}

四,switch语句;

●switch语句特点:

①switch语句选择的类型只有四种:byte,short,int,char。

②case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。

③结束switch语句的两种情况:遇到break,执行到switch语句结束。

④如果匹配的case或者default没有对应的break,那么程序会继续向下执行,允许可以执行的语句,直到遇到break或者switch结尾结束。

例如:/*
根据指定月份,打印该月份所属的季节
3,4,5 春季 6,7,8 夏季9,10,11秋季12,1,2,冬季
*/


class SwitchTest
{
public static void main(String[] args)
{
int x = 4;
switch(x)
{
case 3:
case 4:
case 5:
   System.out.println(x+"春季");
   break;
case 6:
case 7:
case 8:
   System.out.println(x+"夏季");
   break;
case 9:
case 10:
case 11:
   System.out.println(x+"秋季");
   break;
case 12:
case 1:
case 2:
   System.out.println(x+"冬季");
   break;
default:
   System.out.println("nono");
}
/*
if和switch语句很像。
具体什么场景下,应用哪个语句?
如果判断的具体数值不多,而且符合byte short int char这四种类型。
如果两个语句都可以使用,建议使用switch语句,因为效率稍高,


其他情况:对区间判断,对结构为boolean类型判断,使用if,if的使用范围更广
*/

}
}

五,循环结构:

1,while循环语句

/*
循环结构while , do while结构的练习。


*/
class WhileTest
{
public static void main(String[] args) 
{
/*
int x = 4;
while(x < 10)
{
System.out.println("x=" + x);
x++;

}
*/
int x = 4;
do
{
System.out.println("x=" + x);
x++;
}
while (x < 15);
/*
while:先判断条件,只有条件满足才执行循环体。
do while:先执行循环体,在判断条件,条件满足再执行循环体。
简单一句话:do while:无论条件是否满足,循环体至少执行一次。
*/
}
}

2,for循环语句

class ForTest
{
public static void main(String[] args) 
{
/*
for(初始化表达式:循环条件表达式:循环后的操作表达式)
{
执行语句;
}
*/
for(int x = 4; x > 0; x--)
{
System.out.println("x="+x);
}
/*
1.变量有自己的作用域。对于for来讲;如果将用于控制循环的增量定义在for语句中。那么该变量只在for语句内有效。
for语句执行完毕,该变量在内存中被释放。
2.for和while可以进行互换,如果需要定义循环变量,用for更为适合。

总结: 什么时候使用循环结构?
当对某些语句执行很多次时,就使用循环结构。


*/


}
}

/*
for循环结构的练习
*/


class ForTest1 
{
public static void main(String[] args) 
{
int x = 1;
for(System.out.println("a");x < 3;System.out.println("c"),x++)
{
System.out.println("b");
//x++;
}
//abcbc
/*
无限循环的最简单表现形式。
for( ; ; ){}


while(true){}
*/


}
}

//语句嵌套形式,其实就是语句中还有语句。
//循环嵌套。
class ForForTest
{
public static void main(String[] args) 
{
for(int x = 0;x <5;x++)
{
for(int y = 5;y >0;y--)
{
System.out.print("*");
}
System.out.println();
}
System.out.println("----------------");

for(int x = 5;x >=1;x--)
{
for(int y = x;y >0;y--)
{
System.out.print("*");
}
System.out.println();
}
}
}
/*
对于打印长方形,外循环控制的行数,内循环控制的是每一行的列数,也就是一行中元素的个数。
*/


六,其他流程控制语句

● break(跳出),continue(继续)

break语句:应用范围:选择结构和循环结构。

continue语句:应用于循环结构。

●●注意:

①这两个语句离开应用范围,存在是没有意义的。

②这两个语句单独存在下面都不可以有语句,因为执行不到。

③continue语句是结束本次循环继续下次循环。

④标号的出现,可以让这两个语句作用于指定的范围。

0 0