Java语言基础(一)
Java语言基础组成:关键字、标识符、注释、常量和变量、运算符、语句、函数、数组
Java语言基础(关键字)
关键字都是小写的
※书写规范:类名首字母大写
Java语言基础(标识符)
在程序中自定义的一些名称。
由26个英文字母大小写,数字0-9,符号_和$组成
定义合法标识符规则:
1.数字不可以开头
2.不可以使用关键字
Java中严格区分大小写
※在起名字时,为了提高阅读星,要尽量有意义
Java语言基础(注释)
单行注释
格式: //注释文字
单行注释中可以嵌套单行注释和多行注释
多行注释
格式 /*注释文字*/
多行注释中可以嵌套单行注释,不能嵌套多行注释
文档注释(Java特有)
/**注释文字*/ 可通过javadoc.exe提取,生成说明书
注释可以注解掉部分代码,在调试程序时确定错误范围
注释只存在于源程序中,但不参与编译
开发时需要注释,能够增强代码阅读性,便于他人阅读
※养成习惯
代码中首先写多行注释
/* 需求:练习一个Hello World程序 思路: 1.定义一个类,因为Java程序都定义在类中,Java程序都是以类的形式存在的,类的形式其实就是一个字节码文件的最终体现 2.定义一个主函数,为了让该类可以独立运行 3.为了演示Hello World,在控制台上看到该字样,所以需要使用输出语句完成 步骤: 1.用class关键字来完成类的定义,并起一个阅读性强的类名 2.主函数:public static void main(String [] args),这是固定格式的,jvm认识 3.使用输出语句:System.out.println("Hello World!"); */ class Demo { public static void main(String[] args) { System.out.println("Hello World!"); } }
Java语言基础(常量与变量)
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开头表示
1byte=8bits,1k=1024byte
负数的二进制位:其实就是这个数的整数的二进制数取反,加1(补码)
变量的概念
内存中的一个存储区域
该区域有自己的名称(变量名)和类型(数据类型)
该区域的数据可以在同一类型的范围内不断变化
定义变量的意义
用来不断的存放同一类型的常量,并可以重复使用
使用变量注意:
变量的作用范围(一对{}之间有效)
初始化值
定义变量的格式
数据类型 变量名=初始化值
长整型值过大时可在值的末尾加l(小写L),表示该值为长整型的值,防止编译出错
class VarDemo { public static void main(String[] args) { //数据类型 变量名=初始化值 byte b=3; short s=4000; int x=12; long l=1234567890123l;//在值的末尾加l(小写L),表示该值为长整型的值,防止编译出错 float f=2.3f; char ch='a'; boolean bl=true; System.out.println(b); System.out.println(s); System.out.println(x); System.out.println(l); System.out.println(f); System.out.println(ch); System.out.println(bl); } }
ASCII码(American Standard Code for Information Interchange)
JAVA内置unicode国际标准码表
class VarDemo2 { public static void main(String[] args) { int x=3; byte b=5; x=x+b;//类型不一致,进行自动类型转换(提升),以占用内存较大的变量为主 byte b1=3; b1=(byte)(b1+4);/* 4为整型数(占用4个字节), b1为byte型(1个字节),此时进行强制类型转换 */ byte b2=4;//4为int型,且在byte型范围内,则强制转换后赋值给b2 b2=3+7; byte b3=3; byte b4=7; /* byte b5; b5=b3+b4;//b3、b4为变量,不确定,无法判断是否在byte范围内 */ int x1; x1=b3+b4;//b3、b4为byte型,一定在int型表示范围内,因此范围检测通过 System.out.println(x); System.out.println(b1); System.out.println((char)('a'+1));//字符a的ASCII码的值为97,故'a'+1=98 System.out.println(b2); System.out.println(x1); } }
int x1=Integer.MAX_VALUE //int型能表示的最大值
Java语言基础(运算符)
算数运算符
class OperateDemo { public static void main(String[] args) { //算数运算符: + - * / %(取余,模运算) //++ -- //int x=6370; //x=x/1000*1000; //x=6000,在使用 / 进行除法运算时,会舍弃小数部分 //System.out.println(5%2); //5%2余数为1,2%5余数为2,//-5%2余数为-1,5%-2余数为1。余数符号参考被模数 //System.out.println(3+"2");//将3与字符串2连接,形成字符串32 //"5+5="+5+5,连接得"5+5=5"+5,连接得"5+5=55" //System.out.println("5+5="+(5+5)); //int a=4,b=5; //System.out.println("a="+a+","+"b="+b); int a=3,b; b=a++; System.out.println("a="+a+","+"b="+b);//a=4,b=3.b=a++,a先赋值后运算 /* b=a++; 运算过程: a在自增之前需要参与其他运算,则将自身的值暂存, 参与的其他运算结束后,再进行自身的自加运算 */ int i=3; i=i++; System.out.println("i="+i); /* i=i++; i先将值暂存(temp=3),i进行自增运算(i=4), 然后将temp的值赋给i(i=3) */ } }
赋值运算符
class OperateDemo2 { public static void main(String[] args) { //赋值运算符:= += -= *= /= %= short s=3; s+=4;//+=是赋值运算,在底层会有自动转换过程 //s=s+4; //s为变量,不能判断范围是否在short可表示的范围内,编译出错 //s=s+4不会进行自动转换 System.out.println("s="+s); } }