Android :Java语法基础

24 篇文章 0 订阅
24 篇文章 0 订阅
  • Java语言中的注释

程序员最讨厌的两件事

1*写注释

2*别人不写注释

 

单行注释

//只会注释一行

 

多行注释

/*

第一行

第二行

*/

 

文档注释

/**

*注释部分

*/

 

  • Java的关键字

定义:关键字是SUN公司事先定义的,有特别意义的字符序列 java保留字

系统已经占用了这些单词,我们不能再去对它们有别的定义
特点:在 Java 中关键字都是小写的
组成:

注意:关键字不要求大家强记

 

  • 标识符

定义:标识符可以标识类名,接口名,变量名,方法名

标识符就是我们用来起名字的

命名规则:

a) 标识符是由,数字,字母,下划线和美元符号构成,其他符号不可以

b) 必须以字母、下划线或美元符号开头,不能以数字开头

特点:

a) 关键字不能作为标识符

b) 标识符区分大小写,标识符是大小写敏感的

c) 标识符理论上没有长度限制

示例:

合法标识符 不合法标识符

_123Test 123Test

HelloWorld Hello-World

HelloWorld HelloWorld#

public1 public

HelloWord Hello World

命名 Java 标识符, 最好 见名知意  set get  guoMaLu  setStringToText()

定义变量和方法名 整个标识符首字母小写之后每遇到一个单词,首字母都大写

  • 数据类型

Java中数据类型有两个大类

  1. 基本数据类型(本身就定义好的)

数值类型

整数型(byte,short,int,long)

浮点型(float,double)

字符类型(char)

布尔类型(boolean,只能取值 true 和 false)

2.引用数据类型(我们可以自己定义的)

数组  类  接口

 

 

隐式类型转换

Java编译器拿到的数值,默认类型是int,如果赋值给范围小于int的类型,编译器会自行判断,如果当前的数值超过了赋值目标的范围,这时就会报错,否则会自行转换成目标类型

 

 

变量是内存中用来存放特定数据类型数据的一块内存空间,它的值是可以改变的。Java中的变量有四个基本属性:变量名,数据类型,存储单元和变量值
变量名:合法的标识符
变量的数据类型:可以是基本类型和引用类型(必须包含类型)
存储单元:存储单元大小是由数据类型决定的,如:int 为4个字节32位
变量值:在存储单元中存放的值
变量的声明格式:
类型 变量名;

 

 

类变量:独立于方法之外的变量,用 static 修饰。作用范围是整个类

实例变量:独立于方法之外的变量,不过没有 static 修饰。作用范围是实例化后的对象

局部变量:类的方法中的变量。使用前必须初始化  作用范围是方法内

 

运算符种类  符号

赋值运算符  =、 +=、 -=、 *=、 /=、 %=

算术运算符  ++、--、+、-、*、/、%

++自增 --自减 注意前置和后置

关系(比较)运算符 > 、 < 、 >= 、 <=、 ==、 !=   

逻辑运算符  &&(且)有短路功能、||(或)有短路功能、!(非)、&(且) 没有短路功能、|(或)

真 && 假 && 真  假

假 && 真 && 真  假

三目运算符 a?b:c

条件判断 ?语句1:语句2

如果条件为真返回1,条件为假返回2

 

class(类)是最外层的结构

class包含变量和方法

方法中包含语句

 

顺序

从上到下按照顺序执行

 

选择(分支)

if分支结构

if(判断句)

{ 语句a;}

 

 

if(判断句)

{ 语句a;}

else

{语句b;}

 

if(判断句)

{语句a;}

else if(判断句)

{语句b;}

else

{语句c;}

 

2.switch分支语句

利用if...else可以实现多条件的验证,而switch只能进行多数值的判断,而且switch支持的判断数据类型(一直在发展):

最初:int  JDK1.5:加入枚举类型  JDK1.7:加入String类型

语法:

switch (表达式){

case 值1 :

语句1 break;

case 值2 :

语句2 break;

...

default :

语句n break;

}

 

循环

1.while循环

 

while(boolean表达式){

循环体语句;

先判断后执行

 

2.do...while循环

 

do{

循环体语句;

}while(boolean表达式);

先执行一遍再判断,至少会执行一遍

 

3.for循环

 

for(表达式1;表达式2;表达式3){

循环体语句;

};

表达式1:初始表达式,表达式2;boolean表达式,表达式3:增量表达式

 

跳转结构:

1.return;会跳出整个方法

2.continue;跳过后面的语句直接进行下一次循环

    3.break;跳出当前整个循环,执行循环后面的语句

 

语句的集合就是方法

方法定义包括方法头和方法体。

方法头:

修饰符 返回值类型 方法名称(参数)

方法体:{ }之中的内容

 

1- 访问控制修饰符

public (公有的)对所有的类都可见,使用位置:变量 方法 类 接口

protected(受保护的)对同一包内的类和所有子类可见 使用位置:变量 方法 内部类

default(默认的)在同一包内可见,不用写修饰符,使用位置:变量 方法 类 接口

private(私有的)只在同一类可见,使用位置:变量 方法 内部类

 

修饰符

当前类

同包内

子孙类

其他包

public

protected

default

private

 

2- 非访问控制修饰符

static 静态的 使用位置:变量 方法

声明静态变量 静态变量也叫类变量 局部变量不能声明为static变量

类中所有的对象都可以使用,并且只有一份

静态方法 静态方法不能使用非静态变量

final  常态的

final变量 也就是常量 只能初始化一次,之后值不能被改变

final常和static搭配来声明类的常量

final方法 主要目的是防止方法的内容被修改(子类继承)

final类 不能被继承的类

abstract 抽象的

 

递归就是方法自己调用自己

递归也是一种重复运算

可以递归的问题判断:可以划分为一个或多个子问题,而处理子问题的规则与处理原问题的规则是一样的。

递归需要满足两个条件才会使用

 

递归算法设计时,需要首先考虑以下两个问题:

 

递归的效率要低于普通循环,所以设计程序的时候优先考虑使用循环结构,实在没有更好的办法时再使用递归

 

  • 基本数据类型间的转换
  • 基本数据类型间的转换
  • Boolean型不能和其他的基本类型相互转换

     

    byte  char  short  int  long  float  double

     1     2     2    4    8     4     8

     

    Bit

     

    00000000 00000000 00000011 11101000

    00000000 00000000 00000000 11101001   233

                              11101001  10010111

    01111111 11111111 11111111 11111111

    01111111 11111111 11111111 11111111

    11111111 11111111 11111111 11111110 

    代码中的整型数值默认为int类型

    代码中的浮点型数值默认为double类型

      

    char类型本身是无符号

    所以byte不能自动提升到char类型

    char也不会自动提升到short

    byte可以直接提升到short

  • 自动类型提升
  • 强制类型转换
  • 变量
  • 变量类型(变量作用范围)
  • 运算符
  • 程序和语句
  • Java中的方法
  • 修饰符
  • 递归(下节讲)
  • 有反复执行的过程(调用自身)
  • 有跳出反复执行的条件(递归出口)
  • 确定递归公式。把规模大的、较难解决的问题变成规模较小、易解决的具有重复性同一问题,这是递归问题的难点。
  • 确定边界(终了)条件。在什么情况下需要停止递归?就是问题的边界条件及边界值的确定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值