黑马程序员_编程基础

                                     ------- android培训java培训期待与您交流! ---------- 


一,java语言基础

1,关键字:被java语言赋予了特殊含义的单词

特点:Java语言是严格区分大小写的。列如,不能将关键字class等同于Class。所以关键字中所有字母都为小写。

2,标识符在程序中自定义的一些名称。由26个英文字母大小写,数字:0-9 符号:_ $ 组成。可以简单的理解为用来标识类名、变量名、方法名、数组名、文件名的有效字符序列。

Java中的名称规范:
包名:多单词组成时所有字母都小写。
xxxyyyzzz      比如:com.itheiam
类名接口名:多单词组成时,所有单词的首字母大写。
XxxYyyZzz    比如HuanDemo
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。
xxxYyyZzz       比如:setAge getAge 
常量名:所有字母都大写。多单词时每个单词用下划线连接。
XXX_YYY_ZZZ  比如:STUDENT_NOW_GOAL

注意:1,数字不可以开头  2,不可以使用关键字

3,注释

单行注释://

多行注释:/* */  (多行注释中嵌套单行注释)

稳当注释:/**  */

对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。


4,基本数据类型:

在Java中有8种基本数据类型来存储数值,字符和布尔值,如图所示:


1)整数类型

定义:用来存储整数数值,即没有小数部分的数值。可以是整数也可以是负数。

整型数据根据它所占内存大小的不同,可分为byte,short,int,和long4中类型。他们具有不同的取值范围:

byte      8位      -128~127,占用1个字节(-2的7次方到2的7次方-1)

short    16位     -32768~32767,占用2个字节(-2的15次方到2的15次方-1)

int 32位-2147483648~2147483647,占用4个字节(-2的31次方到2的31次方-1)

long 64位-9223372036854774808~9223372036854774807,占用8个字节(-2的63次方到2的63次方-1)

在定义以上4种类型变量时,要注意变量的取值范围,超出相应范围就会出错。对于long型值,若赋给的值大于int型的最大值或小于int型的最小值,则需要在数字后加L或1,表示该数值为长整数。如long num=2147483650L。


整型数据在Java程序中有3种表示形式,分别为十进制、八进制、十六进制。

十进制:也就是我们最熟悉的0-9,满10就进1.但是不能以0作为十进制数的开头(0除外)

八进制:0-7,满8进1,必须用0开头表示。

十六进制:0-9,A-F,满16进1,必须用0x或0X开头表示。

进制之间的转换:比如十进制转换成二进制:对十进制进行除2运算。如图:

除出来的数倒过来写就可以了,所以6的二进制就是110.

二进制转换成十进制:二进制乘以2的过程。也拿110举例:如图:

从右到左一次是乘以2的0次方,2的1次方,2的2次方···

二进制转换成十六进制:四个二进制位就是一个十六进制位。

二进制转换成八进制:三个二进制位就是一个八进制位。

负数的二进制表现形式:对应的二进制数取反加1.如图:



2),浮点类型

浮点类型表示有小数部分的数字,Java语言中浮点类型分为单精度浮点类型(float)和双精度浮点类型(double),他们具有不同的取值范围。

float 32位 1.4E-45~3.4028235E38

double 64位 4.9E-324~1.7976931348623157E308

默认情况下小数都被看做double型,若使用float型小数,则需要在小数后面添加F或f。可以使用后缀D或d来明确表示这是一个double类型数据,不加“d”不会出错,但声明float型变量时如果不加“f”,系统会认为变量时double类型而出错。

3)字符类型

char型

字符类型char用于存储单个字符,占用16位(两个字节)的内存空间。同c和c++语言一样,java语言也可以把字符作为整数对待。由于unicode编码采用无符号编码可以存储65536个字符(0x0000~0xffff),所以java中的字符几乎可以处理所有国家的语言文字。若想得到一个0~65536之间的数所代表的unicode表中相应位置上的字符,也必须使用char型显示转换。比如下面我的一个小程序可以实现将unicode表中某些位置上的字符以及一些字符在unicode表中的位置在控制台上输出。

public class Gess {


public static void main(String[] args) {
char word='d',word2='@';
int p=23045,p2=45213;
System.out.println("d在unicode表中的顺序位置是:"+(int)word);
System.out.println("@在unicode表中的顺序位置是:"+(int)word2);
System.out.println("unicode表中的第23045位是:"+(char)p);
System.out.println("unicode表中的第45213位是:"+(char)p2);
}


}


转义字符

转义字符是一种特殊的字符变量,它以反斜线“\”开头,后跟一个或多个字符。转义字符具有特定的含义,不用于字符原有的意义,故称“转义”。

\n:换行。
\b:退格。相当于backspace。
\r:按下回车键。window系统,回车符是由两个字符来表示\r\n.
\t:制表符。相当于tab键。

比如:

char c1='\\';
char char1='\u2605';
System.out.println(c1);
System.out.println(char1);


结果为:

4)布尔类型

布尔类型又称逻辑类型,通过关键字boolean来定义布尔类型变量,只有true和false两个值,分别代表布尔逻辑中的“真”和“假“。布尔值不能与整数类型进行转换。布尔类型通常被用在流程控制中作为判断条件。


5,变量与常量

一句话:在程序执行过程中,其值不能被改变的量称为常量,其值能被改变的量称为变量。变量与常量的命名都必须使用合法的标识符。

(1)常量 

分类:

1,整数常量。所有整数
2,小数常量。所有小数
3,布尔型常量。较为特有,只有两个数值。true false。
4,字符常量。将一个数字字母或者符号用单引号( ' ' )标识。
5,字符串常量。将一个或者多个字符用双引号标识。
6,null常量。只有一个数值就是:null.
声明常量的标准语法:final 数据类型 常量名称[=值],常量名通常使用大写字母,但不是必须的。
比如:
final double PI=3.14D //声明double型常量PI并赋值
final boolean BOOL =true//声明boolean型常量BOOL并赋值

(2)变量
变量:内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以在同一类型范围内不断变化
为什么要定义变量:用来不断的存放同一类型的常量,并可以重复使用
什么时候定义变量:当数据不确定的时候。需要对数据进行存储时。
                就定义一个变量来完成存储动作。
使用变量注意:变量的作用范围(一对{}之间有效);初始化值;变量的命名必须是合法的标识符。
定义变量的格式:数据类型    变量名  =  初始化值;
在声明变量时可以是没有赋值,也可以是直接赋给初值。比如:
int age;  //声明int型变量
char char1='r';//声明char型变量并赋值


注意:在Java语言中允许使用汉字或其他语言文字作为变量名,如“int 年龄=21”,在程序运行时不会出错,但是最好还是不要使用这些语言文字作为变量名。
对于变量名,总结一下规则:
1,变量名必须是一个有效的标识符
2,变量名不可以使用java中的关键字
3,变量名不能重复
4,应该选择有意义的单词作为变量名

变量的有效范围:
变量有自己的生命周期,被定义出来后只是暂存在内存中,等到程序执行到某一个点,该变量会被释放掉。
根据变量的有效范围将变量分为“成员变量”和“局部变量”。
1)成员变量:在类中所定义的变量,成员变量在整个类中都有效。
类的成员变量还可以分为:静态变量和实例变量。比如下面的代码:
class var
{
        int x=21;
        static int y=23;
}


其中x为实例变量,y为静态变量(也称为类变量)。在成员变量的类型前面加上static关键字,称为静态变量。
对于静态变量,除了能在定义它的类内存取,还能直接以“类名.静态变量”的方式在其他类内使用。
2)局部变量
在类的方法体中定义的变量,局部变量只在当前代码块中有效。
局部变量的生命周期取决于方法,当方法被调用时,Java虚拟机为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中的局部变量占用的内存空间,局部变量也将会销毁。
注意:当局部变量与成员变量的名字相同时,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效。
比如下面的代码:
public class VarDemo {
static int x=3;


public static void main(String[] args) {
int x=4;
System.out.println("x="+x);


}


}


结果为:



6,运算符

算术运算符
注意:对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
“+”除字符串相加功能外,还能把非字符串转换成字符串

赋值运算符
符号:
= , +=, -=, *=, /=, %=
示例:
int a,b,c;  a=b=c =3;
int a = 3;   a+=5;等同运算a=a+5

比较运算符
注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
注2:比较运算符“==”不能误写成“=” 。

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

位运算符
技巧:一个数左移n位,就是将这个数乘以2的n次方,一个数右移n位,就是将这个数除以2的n次方。

三元运算符
格式
(条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值