java语言基础(第二章 基础语法、定义)

第二章  基础语法、定义

1,单行注释   //
   多行注释   /*......*/
    
public class后面代表定义一个类的名称,类是java当中所有源代码的基本组织单位。
main 方法代表程序执行的起点


2,
关键字:1.完全小写的纯英文字母,有特殊颜色
标识符:自己定义的(类,方法,变量...)
        1.包含字母,数字,$,下划线
    2.不能以数字开头
    3.不能是关键字
        命名规范:
    1.类名:首字母大写,后面每个单词首字母大写
    2.方法名、变量名:首字母小写,后面每个单词首字母大写

3,常量的分类:
1.字符串常量  "abc"
2.整数常量    100
3.浮点数常量   2.5
4.字符常量    'a' 
5.布尔常量     ture,false
6.空常量     null(代表没有任何数据)   


4,基本数据类型:整数,浮点数,字符,布尔
   引用数据类型:类,数组,接口,字符串 

byte    1个字节  -128~127
short    2个字节
int      4个字节
long     8个字节
float    4个字节
double    8个字节
char      2个字节
boolean   1个字节

注意:
1.浮点数可能只是一个近似值,并非精确的值
2.数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但float是4字节,long是8字节
3.浮点数当中默认类型是double,如果一定要使用float类型,需要加上一个后缀F
如果是整数,默认为int类型,如果一定要使用long类型,需要加上一个后缀L
  


5,变量
注意:  1.变量之间的名称不可以重复
        2.对于float和long类型,字母后缀F和L不能丢掉
        3.变量使用不能超过作用域的范围
作用域:从定义变量的一行开始,一直到直接所属的大括号结束为止

6,数据类型转换
自动类型转换(隐式):数据范围从小到大
强制类型转换(显式):(要转换成的数据类型)
  

7,ASCII编码表
'0';48
'a' : 97
'A' :65 
Unicode码表:万国码,开头0-127和ASCII完全一样,后面还有更多字符


8,对于字符串String来说,加号代表字符串连接操作
任何数据和字符串进行连接的时候,结果都会变成字符串
 
9,自增运算符
1.在单独使用时,前++和后++没有任何区别,即++a和a++完全一样
2.在混合使用时:
如果是前++,那么变量立刻马上加一,然后拿着结果进行使用  【先加后用】
如果是后++,那么首先使用变量本来的数值,然后再让变量加一【先用后加】

10,比较运算符
1.比较运算符不能连写
2.其结果是一个boolean值

11,逻辑运算符
1.与“&&”,或“||”具有短路效果;如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行


 一,对于byte,short,char.
 1.如果右侧赋的值如果没有超过左侧的范围,那么编译器补上强转;否则报错
 2.在给变量进行赋值时,如果右侧的表达式当中全都是常量,没有任何变量,那么编译器javac将会直接将若干个常量表达式计算得到结果
 例如: short result=5+8;//等号右边全都是常量,编译之后得到的.class文件中相当于直接就是:
 short result=13;(右侧的常量结果数值,没有超过左侧范围,所以正确)
 而如果:
 short a=5;
 short b=8;
 short result=a+b;(是错误写法!short+short-->int+int-->int,左侧需要int类型)


 二,流程控制
 1.顺序结构

 2.判断语句

 switch语句注意事项:
 01.多个case后面的数值不可以重复
 02.switch后面小括号当中只能是下列数据类型:
 基本数据类型:byte/short/char/int
 引用数据类型:String字符串、enum枚举  
 03.break可以省略-->匹配到哪一个case就从哪一个位置向下执行,直到遇到了break或者整体结束为止

 3.循环语句
 for,while,do-while
 基本组成成分:
 01.初始化语句:在循环开始最初执行,而且只做唯一一次
 02.条件判断
 03.循环体
 04.步进语句:每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次
 05.break是结束循环,continue是跳过本次循环
 06.【死循环】
 结束:ctrl+C
 标准格式:
 while(true){
 循环体
 }
 

 三,方法
 定义:修饰符 返回值类型 方法名称(参数类型 参数名称,...){
 方法体
 return 返回值;
 }

 例如:public static void 方法名称(){
      方法体
     }

public static int sum(int a,int b){
int result=a+b;
return result;
}

修饰符现阶段固定写法:public static
方法名称的命名规则和变量一样,使用小驼峰

注意:
1.方法定义的先后顺序无所谓
2.方法的定义不能产生嵌套包含关系
3.要想执行方法,一定要进行方法的调用
4.return后面的返回值数据必须和方法的返回值类型对应
5.没有返回值,只写return;或者不写

调用格式:
1.单独调用:  方法名称(参数);
2.打印调用:  System.out.println(方法名称(参数));
3.赋值调用:  数据类型 变量名称=方法名称(参数);

对于没有返回值的方法,只能单独调用。

方法的重载(overload):多个方法的名称相同,但是参数列表不一样
1.好处:只需要记住一个方法名称,就可以实现类似的多个功能
2.
参数个数、参数类型、参数的多类型顺序不同的方法可以是用方法重载

参数名称和返回值类型不同的不可以用方法重载


四,数组
 1.特点:引用数据,数组中数据类型统一,长度在运行期间不可改变
 2.初始化方式:
    动态初始化(指定长度): 数据类型[] 数组名称=new 数据类型[数组长度];

    静态初始化(指定内容):  数据类型[] 数组名称=new 数据类型[] {元素1,元素3,...};
                            数据类型[] 数组名称={元素1,元素2,...};

 3.使用:
 直接打印数组名称,得到的是数组对应的内存地址哈希值
 访问数组格式:数组名称[元素的编号]
 注意:1.编号从0开始
       2.使用动态初始化数组时,其中的元素将会自动拥有一个默认值。
         整数类型:默认为0;
         浮点类型:默认为0.0; 
         字符类型:默认为'\u0000';
         布尔类型:默认为false;
         引用类型:默认为null。

 4.获取数组长度(得到一个int数字): 数组名称.length
 5.数组的遍历输出:for(int i=0;i<数组名称.length;i++);{
                   System.out.println(数组名称[i]);
                   }

 6.求数组中的最值:逐一比较
 7.数组可以作为方法参数--传递地址
 8.数组可作为方法返回值--返回地址


 五,java内存
 划分为5个部分:
 1.栈(Stack):存放的都是方法的局部变量。方法的运行一定要在栈中运行。
  局部变量:方法的参数,或是方法{}内部的变量
  作用域:一旦超出作用域,立刻从栈内存中消失。
 2.堆(Heap):凡是new出来的东西,都在堆中。
  堆内存中东西都有一个地址值:16进制
  堆内存里的数据,都有默认值。规则:
         整数类型:默认为0;
         浮点类型:默认为0.0; 
         字符类型:默认为'\u0000';
         布尔类型:默认为false;
         引用类型:默认为null。  
 3.方法区(Method Area):存储.class相关信息,包含方法的信息。

 4.本地方法栈:与操作系统相关
 5.寄存器:与CPU相关


 

             

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值