学习日志 //部分内容摘自于《java程序设计》机械工业出版社
java语言编程基础
{
<1>标识符和关键字 //标识符和关键字是java编程的基础,必须要掌握。
{
*标识符
{
①标识符是由字母、数字、下划线或货币符号组成。
②标识符的第一个字母必须是字母,下划线或货币符号(¥、$)。
③java语言区分大小写。
④标识符不能和关键字相同。
几中常见的命名方式:
包名:多单词情况下,全部小写。例:package com.itheima.sky
类名:多单词情况下,首字母大写。例:class AnimalClass
变量名和函数名:多单词情况下,第一个首字母小写其余首字母大写。例:int animalAge()
常量名:所有字母大写,多单词用下划线分割。例:double CIRCLE_PI=3.14
}
*关键字
{
关键字是java语言的保留字,具有特殊意义的专用单词。不能用做别的用途
例如:class、int、double、void、if、for、this、case等。
}
}
<2>数据类型
/*
数据类型定义了相应数据在计算机内部的表示方式、可取值范围以及对它进行的
一系列操作,java中主要分为两大类型:基本数据类型和引用数据类型(类、借口、数组和枚举等)
*/
{
*基本数据类型
{————————————
|
|
|———算数类型
| |
| |———整数类型
| | |
| | |————字节型(byte)[存储空间大小(位):8]
| | |————短整型(short)[存储空间大小(位):16]
| | |————整型(int)[存储空间大小(位):32]
| | ————-长整型(long)[存储空间大小(位):64]
| |
| |———浮点数类型
| | |
| | |————单精度浮点型(float)[存储空间大小(位):32]
| | ————-双精度浮点型(double)[存储空间大小(位):64]
| |
| |———字符型
| |
| ————-字符型(char)[存储空间大小(位):16]
|
|———布尔类型(boolean)[取值范围:false,true]
}
<3>常量
{
常量就是固定不变的量,常用的文字常量有整型文字常量、浮点型文字常量、字符文字常量、
字符串文字常量、布尔文字常量和空引用文字常量。
}
<4>变量
{
变量是用于保存数据的存储单元,可以用一个标识符(变量名)来标识变量。通过变量名来
操作相应的存储单元,存取或修改其中的数据。
}
<5>运算符和表达式
{
表达式是由运算符和操作数组成,是变量、常量、方法调用和运算符等组合而成的一个运算,
用于运算求值等。例:x=2*6+2-8/4。
运算符
{
基本赋值运算符(=)其语法形式:变量名=表达式
/*——————————————————算术运算符————————————————————————*/
①基本算术运算符(二元运算符):+、-、*、/、%(求余,也叫取模)
②自增"++"、自减"--"运算符
/*
算术运算实例
*/
public class ArithmeticOperation
{
public static void main(String[] args)
{
//声明变量
char b;
int x,y,z;
//赋值
x=5;
y=3;
//字符型变量运算
b='A'+1; //进行运算的是内部的ASCII码
System.out.println("A+1的值是"+b);
//int变量运算
System.out.println(x+" + "+y+" = "+(x+y));
System.out.println(x+" - "+y+" = "+(x-y));
System.out.println(x+" * "+y+" = "+x*y);
System.out.println(x+" / "+y+" = "+x/y);
System.out.println(x+" % "+y+" = "+x%y);
//自增,自减运算
z=x++; //先赋值,再进行自增
System.out.println("执行 [z=x++] 后,z的值为:"+z+", x的值为:"+x);
z=++x; //先自增,再进行赋值
System.out.println("执行 [z=++x] 后,z的值为:"+z+", x的值为:"+x);
z=y--;
System.out.println("执行 [z=y--] 后,z的值为:"+z+", x的值为:"+y);
z=--y;
System.out.println("执行 [z=--y] 后,z的值为:"+z+", x的值为:"+y);
}
}
/*—————————————————————关系运算符—————————————————————*/
又称比较运算符,关系运算符共有6个:<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、
==(等于)、!=(不等于)
/*————————————————-————逻辑运算符—————————————————————*/
逻辑运算符又称布尔运算符,常用的逻辑运算符有!(逻辑非),&(逻辑与),|(逻辑或),^(逻辑异或)。
!(非真即假)
&(只有两边都为true,结果才为true)
[true & true = true][true & false = false][false & true = false][false & flase = false]
|(只有两边都为false,结果才为false)
[true | true = true][true | false = true][false | true = true][false | flase = false]
^(两边相同结果是false,两边不同才为true)
[true | true = false][true | false = true][false | true = true][false | flase = false]
&&和||的短路特性:
&&和&特点
&:无论左边是真是假,右边都参与运算。
&&:当左边为false时,右边不参与运算。
||和|特点
|:两边都参与运算。
||:当左边为true时,右边不参与运算。
/*—————————————————————位运算符———————————————————————*/
位运算符的操作数和运算结果都是整数类型,运算对象是操作数的二进制位,可分为按位运算符
和移位运算符两种。
①按位运算符包括:~(按位求返),&(按位与),|(按位或),^(按位异或)。
例:
&运算 6&3=2 |运算 6|5=7 ^运算 6^5=3
110=6 110=6 110=6
&011=3 |101=5 ^101=5
———— ———— ————
010=2 111=7 011=3
②移位运算符:
移位运算符包括左移位(<<)、右移位(>>)和无符号右移位(>>>)
<<:其实就是乘以2的移动的位数次幂。例:3<<2=12 -->3*(2^2)
>>:就是除以2的移动的位数次幂。例:6>>1=3 -->6/(1^2)
注意:如果最高位为0,右移后,用0补空位。如果最高位为1,右移后,用1空位。
>>>:无符号右移,无论最高位是什么右移后都用0补。
/*—————————————————条件运算符(三元运算符)—————————————*/
格式:布尔表达式?表达式1:表达式2
先计算布尔表达式的值,若布尔表达式的值为true,则计算表达式1,并把它的值
作为条件运算表达式的值。否则,计算表达式2,并把它的值作为条件运算表达式的值。
例:int x=(4<5)?4:5; //运算结果 x=4
}
}
<6>控制语句
{
通常情况下,程序中的语句按它们出现的前后顺序执行,如果需要改变程序中语句的执行顺序,
就要使用控制语句。
/*——————————————条件语句(也称选择语句)——————————————*/
控制程序执行流程的方式是根据给定的条件,决定执行哪些语句,
不执行哪些语句。
①if语句, 语法形式如下:
if(布尔表达式)//如果布尔表达式的值为true,执行语句1,否则执行语句2。
语句1;
else
语句2;
例: public class IfElseTest
{
public static void main(String[] args)
{
int x = 4;
int y = 5;
if(x<y)
System.out.println("yes!");
else
System.out.println("no!")
}
}
if语句的嵌套:
if(布尔表达式1)
语句1;
else if(布尔表达式2)
语句2;
else
语句3;
②switch语句(开关语句)
switch语句可以简化if语句嵌套使用的情形。
一般语法形式:
switch(表达式)
{
case 常量表达式1:
语句1;
break; //break:跳出switch语句。
case 常量表达式2:
语句2;
break;
......
case 常量表达式n:
语句n;
break;
default: //以上情况都没有,执行default。
语句n+1;
break;
}
/*
Switch语句示例
*/
public class SwitchTest
{
public static void main(String[] args)
{
int x=8;
switch(x)
{
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("不存在");
break;
}
}
}
/*——————————————循环语句(也称迭代语句)——————————————*/
程序中,往往需要重复执行某些语句。循环语句就有这样的功能,它能使程序在
给定条件满足时,重复执行一些语句。循环中需要重复执行的语句也称循环体。
①while语句
while语句的一般语法形式如下:
while(布尔表达式)
{
语句;
}
例:
/*
While循环示例
*/
public class WhileTest
{
public static void main(String[] args)
{
int data=1;
int sum=0;
while (data<=100)
{
sum=sum+data;
data++;
}
System.out.println("sum="+sum);
}
}
②do-while语句
do-while语句的一般语法形式如下:
do
{
语句;
}
while(布尔表达式)
do-while语句首先执行循环体,再求布尔表达式的值,如其值为true,则再次执行循环体,
直至布尔表达式的值为false;而while语句首先求布尔表达式的值,再按其值为true或
false决定是否执行循环体。因此,do-while语句中的循环体至少执行一次。
}
③for语句
for语句的一般语法形式如下:
for(初始化表达式;布尔表达式;更新表达式)
{
语句;
}
例:
/*
for语句示例:乘法口诀表
*/
public class ForTest
{
public static void main(String[] args)
{
System.out.println("\t\t乘法口诀表");
//for循环嵌套,可以理解为大圈套小圈
for(int x=1;x<10;x++)
{
for(int y=1;y<=x;y++)
{
System.out.print(y+"*"+x+"="+x*y+"\t");
}
System.out.println();
}
}
}
④跳转语句
java中共有三种跳转语句:break语句(跳出)、continue语句(继续)、return语句。
break应用范围:选择结构和循环结构
continue应用范围:循环结构
标号只能用于循环结构。例:w:for(...){break w;}
continue 特点:结束本次循环,继续下一次循环。
注意:break和continue单独存在时,后面不可以有任何语句,因为都执行不到。
}
<7>函数(方法)
{
java中对功能的定义是通过函数的形式来体现的。
格式:
修饰符 返回时类型 函数名(参数类型 形式参数1,参数类型 形式参数2)
{
执行语句;
return 返回值;
}
例:
public String getName(String name)
{
return name;
}
当函数运算后,没有具体的返回值时,这时返回值类型用一个特殊的关键字来标识,
该关键字就是void。
void代表函数没有具体返回值的情况。当函数的返回值类型是void时,函数中的return
语句可以省略不写。
函数中不能定义函数,只有调用关系,java中最小的功能单元就是函数。
如何定义一个函数:
1、既然函数是一个独立功能,那么该功能的运算结果是什么先明确(明确返回值类型)
2、再明确定义该功能的过程中是否有需要未知的内容参与运算(明确函数的参数列表)
例:
/*
调用函数
*/
public class AreaTest
{
public static void main(String[] args)
{
int length = 10;
int width = 5;
//调用area函数,将length和width两个参数传递给area函数的形式参数。
int area = area(length,width);
System.out.println("length="+length+"\t width="+width+"\t area="+area);
}
//a和b,分别接受传递过来的length和width两个参数。
public static int area(int a,int b)
{
return a*b;//进行乘法运算并且返回。
}
}
函数的重载
同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
当定义的功能相同,但参与运算的未知内容不同。那么,这时就定义一个函数名称以表示
其功能,方便阅读,而通过参数列表的不同来区分多个同名函数,这就是重载。
例:
/*
函数的重载
*/
public class RepeatLoad
{
public static void main(String[] args)
{
char w='a';
int x=10;
short y=5;
double z=3.14;
method(w);
method(x);
method(y);
method(z);
}
public static void method(double x)
{
System.out.println(x+"\t in method(double)");
}
public static void method(int x)
{
System.out.println(x+"\t in method(int)");
}
public static void method(char x)
{
System.out.println(x+"\t in method(char)");
}
public static void method(short x)
{
System.out.println(x+"\t in method(short)");
}
}
}
}//java语言编程基础结束,如有错误请大家指正,谢谢。