Java学习(3)——语言基础

1 Java 主类结构

包声明

一个Java程序是由若干个类组成的。
语句package Number声明该类所在的包为Number。

声明成员变量和局部变量

类的全局变量(成员变量):类的属性 声明在类体中
局部变量:方法中的属性 声明在方法体中

编写主方法

main()方法是类体中的主方法,从{开始到}结束。
public、static、void分别是main()方法的权限修饰符、静态修饰符、返回值修饰符。

Java中的main()方法必须声明为public static void。

导入API类库

Java中通过import关键字导入相关的类。
API文档是程序开发人员不可或缺的工具

2 基本数据类型

有8种基本数据类型来存储数值、字符和布尔值。

  1. 数值型
    整数类型 byte short int long
    浮点类型 float double
  2. 字符型
  3. 布尔型

整数类型

十进制:不能以0开头,0除外
八进制:必须以0开头
十六进制:必须以0x或0X开头

数据类型 占用空间(位) 字节
byte 8 1
short 16 2
int 32 4
long 64 8

每种类型都有取值范围,如byte为-128~127
超出范围会出错
对于long型,若赋给的值超出int范围,则需要在数字后加L或1,表示该数值为长整数
如:long num = 2147483650L

浮点类型

数据类型 占用空间(位) 字节
float 32 4
double 64 8

小数默认被看作double型
若使用float则需要在后面添加F或f。
double后面D或d,可加可不加。

字符类型

  1. char型
    字符类型char用于存储单个字符,占用16位,2字节的内存空间。
    单引号' '为字符型变量
    双引号" "为字符串,即使只有一个字符。

定义char字符变量

char x = 'a';
char x = 97;

二者等价

  1. 转义字符
    与C中含义相同。
    将转义字符赋值给字符变量时,与字符常量值一样,需要使用单引号。

  2. 布尔类型
    只有true和false两个值。
    不能与整数类型转换。
    boolen b = true;

3 变量与常量

标识符和关键字

  1. 标识符
    第一个字符不能是数字
    由任意顺序的字母、下划线、美元符号和数字组成,且不能是Java中的保留关键字。

  2. 关键字
    不可以作为标识符来使用。

声明变量

变量占用的内存空间

程序执行时,程序代码会加载到内存中的程序区,数据暂时存储在数据区中。

Java中允许使用汉字或其他语言文字作为变量名
int 年龄 = 21
但建议尽量不要使用这些语言文字作为变量名。

声明常量

在Java中声明常量,除了要指定数据类型以外,还需要通过final关键字进行限定。
final常量只能被赋值一次。
final double PI = 3.1415926D;

常量名通常使用大写字母
当定义的final常量属于“成员变量”时,必须在定义时就设定它的初值,否则将会产生编译错误。

变量的有效范围

  1. 成员变量
    类体中所定义的变量。
    在整个类中都有效。
    分为两种:
    实例变量:int x = 45;
    静态变量(类变量):static int y = 90;
    静态变量的有效范围可以跨类,可以直接以类名.静态变量的方式在其他类内使用。

  2. 局部变量
    在方法内部定义,“{”与“}”之间的代码中声明的变量,只在当前代码块中有效。

变量的有效范围

4 运算符(基本与C无二)

  1. 赋值运算符

  2. 算术运算符


  3. 自增和自减运算符


  4. 比较运算符


  5. 逻辑运算符

注意结合方向

&与&&的区别:
&会判断两个表达式
&&当第一个表达式为false时不去判断第二个了,直接输出结果从而节省计算机判断的次数。

  1. 位运算符
    针对两个整形数据a、b的对应位进行逻辑运算。

按位与&
按位或|
按位取反~
按位异或^
移位操作

移位操作
可以实现整数除以或乘以2n
例如:
y<<2与y*4的结果相同;y>>1与y%2的结果相同。

左移<< 右移>> 无符号右移>>>

左移:移空部分补0

右移:如果最高位是0 ,右移空的位就填0;
如果最高位是1,则右移空的位就填1。


右移 最高位是1的情况

无符号右移:左侧被移空的高位都填入0

移位运算符适用的数据类型有:
byte short char int long

  1. 三元运算符
    条件式?值1:值2
    条件式值为true,取1,否则取2。
    等价于
    if …… else语句

数据类型转换

  1. 隐式类型转换


  2. 显示类型转换


代码注释与编码规范

注释

  1. 单行注释 //
  2. 多行注释
/*
注释内容
*/

多行注释中可嵌套单行注释

多行注释中不可嵌套多行注释

  1. 文档注释
    /** 注释 */

编码规范

  1. 每条语句单独一行,分号结束
  2. 尽量每个变量的声明单独占一行
    对于局部变量应在声明的同时对其进行初始化。
  3. Java中关键词之间的多个空格均被视作一个。
  4. 多加注释
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容