Java 语言编程基础

标识符与关键字

标识符命名规则

  • 标识符:程序员在写代码的过程中自定义的一些名称即为标识符,如变量名,类名,函数名,接口名…
  • ( 就是标识万事万物的符号)
  • 由标识符的组成:26个英文字母(大、小写),数字,下划线,美元符号$
  • Java标识符严格区分大小写,长度无限制
  • 标识符不能用数字开头
  • 为了提高标识符的可读性,尽量起有意义的名字,一般都是用英文单词表示
  • 不要使用关键字和Java中的自带类名称做标识符

命名方式

  • 大驼峰命名法:如果一个标识符是由多个单词组成的,那么所有单词的首字母大写

  • 举例:TaoBao TianMao

  • 应用:变量名、函数名等

  • 小驼峰命名法:如果一个标识符是由多个单词组成的,那么除了第一个单词首字母小写外,其他单词首字母大写

  • 举例:taoBao tianMao

  • 应用:类、接口等

  • 全大写命名法:如果一个标识符是由多个单词组成的,那么每一个单词都要大写,单词与单词之间用_连接

  • 举例:MAX_VALUE DEFAULT_SIZE

  • 应用:定义常量等

关键字和保留字

JAVA关键字

  • JAVA编程语言中,事先定义的,有特殊含义和用途的单词。
  • 如:目前接触到的public、static、void等。

JAVA保留字

  • JAVA编程语言中,暂时还没有被定义的,但以后有可能会用到的单词,目前JAVA的保留字有goto和const。

注意

  • JAVA中没有sizeof、goto、const,且sizeof既不是关键字也不是保留字。

数据类型

概述

在这里插入图片描述

八大基本数据类型

类型名称 类型定义 取值范围
boolean 布尔值,作二元判断 true, false
byte 8位有符号整数 -128 ~ 127
short 16位有符号整数 -32768 ~ 32767
int 32位有符号整数 -2147483648(-231)~ 2147483647(231-1)
long 64位有符号整数 -263~ (263-1)
float 32位浮点数 1.4E-45 ~ 3.4028235E38
double 64位浮点数 4.9E-324 ~ 1.7976931348623157E308
char 16位Unicode字符 0 ~ 65535

注意:

  • (1)Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的“E+数字”表示E之前的数字要乘以10的多少倍。 比如3.14E3就是3.14×1000=3140,3.14E-3就是3.14/1000=0.00314。

  • (2)Java语言中,默认的整数类型是int类型,声明long类型的时候,后面必须要加个l(字母L的小写)或者L,建议使用大写L,防止和数字1混淆,如:30L;

  • (3)Java语言中,默认的浮点数类型是double,声明float类型的时候,后面必须添加字母f或者F,如3.14F,3.14f;

  • (4)Java语言中,char类型为16位Unicode字符,Unicode字符中的取值不存在负数范围,所以它的取值范围为 0 ~ 65535,—— 有点类似 “无符号数”;

  • (5)类型转换都是小范围向大范围转换,大范围往小范围转化需要用到强制转换;
    例如:(1)int a=12;double b=a;(2)double a=3.0;int b=(int)a;

数据类型转换

  • 自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:
    在这里插入图片描述
    • ​ 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
    • byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。
    • boolean类型不能与其它数据类型运算。
    • 当把任何基本数据类型的值和字符串(String)进行连接运算时(+), 基本数据类型的值将自动转化为字符串(String)类型。
  • 强制类型转换
    • 强制类型转换的语法格式是在圆括号中给出想要转换的目标类型,后面紧跟待转换的变量名。例如:
double x = 9.997;
int nx =int)x;
  • 如果运算符得到一个值,其类型与左侧操作数的类型不同,发生就会强制类型转换速。例如,如果X是一个整型,则以下语句
int x = 0;
x + = 3.5;

是合法的,将把x设置为(int)(x + 3.5)。

  • 如果是下面这种赋值方式,则会报错
 double d = 2.0;
 int i = 0;
 i = i+d;//Type mismatch: cannot convert from double to int  

数据类型的书写语法

  • int 直接书写,即为int型int i = 100;

  • long 后面要加后缀L或者l(为了区别视觉歧义建议大写)long i = 100L;

  • byte 和 short 无法直接表示,我们可以通过前面所讲的表示范围,可以看出byte和short表示范围内的数,我们都可以赋值给int和long,所以它是无法直接表示的。
    我们需要注意的就是long类型后面需要加后缀L

  • 结合前面博文补充个知识点:不同进制的表示,不明白的可以点下连接跳转下:进制转换

  • 整数int 类型127在不同进制下的表示:

    • 2进制 int a = 0b01111111;
    • 8进制 int b = 0377;
    • 10进制 int c = 127;
    • 16进制 int d = 0x7F;
  • 【16进制下的字母不区分大小写】

  • 整数long类型127在不同进制下的表示:

    • 2进制 int a = 0b01111111L;
    • 8进制 int b = 0377L;
    • 10进制 int c = 127L;
    • 16进制 int d = 0x7FL;
  • 浮点类型的书写语法:(只能使用十进制)

    • float (必须加后缀F或f,推荐F)

    • float f = 100F;

    • float f = 3.14F;

    • double(后缀D或d,推荐D)

    • double a = 100D

    • double a = 3.14;//小数默认为double类型,后面可不加

    • double a = 3.14D;

  • 说到浮点类型我们就要讲到浮点数的科学计数法表示,科学计数法知识补充:科学计数法百科
    E4(相当于乘以10的4次方)

    • float类型31415.926F
    • 3.1415926E4F或3.1415926e4F
    • double类型31415.926
    • 3.1415926E4或3.1415926e4
    • 3.1415926E4D或3.1415926e4D

变量和常量

变量的定义

  • 变量是内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),Java中每个变量必须先声明,后使用, 该区域的数据可以在同一类型范围内不断变化。
  • 标识符:在计算机高级语言中,用来对变量、符号常量名、函数、数组、类型等命名的有效字符序列统称为标识符。简单地说,标识符就是一个对象的名字。

变量的分类

  • 按数据类型

    • 对于不同的数据类型,在内存中分配了不同大小的内存空间
    • 数据类型分为基本数据类型和引用数据类型,引用数据类型有类(class)、接口(interface)、数组,基本数据 类型有布尔型(boolean)、字符型(char)、数值性【整数类型(byte、short、int、long)、浮点类型(float、double)】
  • 按声明的位置

      在方法体外,类体内声明的变量称为成员变量;在方法体内部声明的变量称为局部变量
    

在这里插入图片描述

  • .声明格式

     定义变量的格式:数据类型 变量名 = 初始化值
    

变量在内存中的区域:
在这里插入图片描述

常量

  • 常量是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变,一般用大写字符

        语法:final 常量名 = 值;如:final String LOVE = ‘java‘;
    
  • 注意:必须要在常量声明的时候就对其进行初始化,否则会出现编译错误。常量一旦初始化后就无法再改动

  • 常用的常量有以下几类:

    • (1)整型常量。如1000,1234,0,-345等都是整型常量。

    • (2)实型常量。有两种表示形式:

      • a、十进制小数形式,由数字和小数点组成。如:123.456,0.345,-56.79,0.0,12.0等。

      • b、指数形式,如12.34e3(代表12.34×10e3),-346.87e-25(代表-346.87×10e-25),0.145E25(代表0.145×10e-25)等。由于在计算机输入或输出时,无法表示上角或下角,故规定以字母e或E表示以10为底的指数。但应注意:e或E之前必须有数字,且e或E后面必须为整数。如不能写成e4,12e2.5.

    • (3)字符常量。有两种形式的字符常量:

      • a、普通字符,用单撇号括起来的一个字符,如:‘a’,‘Z’,‘3’,’?’,’#’。不能写成’ab’或’12’。请注意:单撇号只是界限符,字符常量只能是一个字符,不包括单撇号。'a’和’A’是不同的字符常量。字符常量存储在计算机存储单元中时,并不是存储字符(如a,z,#等)本身,而是以其代码(一般采用ASCII代码)存储的,例如字符’a’的ASCII化代码是97,因此,在存储单元中存放的是97(以二进制形式存放)。

      • b、转义字符,除了以上形式的字符常量之外,C还允许用一种特殊形式的字符常量,就是以字符\开头的字符序列。例如,前面已经遇到过的,在printf函数中的’\n’它代表一个“换行”符。’\t’代表将输出的位置跳到下一个tab位置,一个tab位置为8列。这是一种在屏幕上无法显示的“控制字符”,在程序中也无法用一个一般形式的字符来表示,只能采用这样的特殊形式来表示。

    • 常用的以“\”开头的特殊字符如下:
      在这里插入图片描述

    • (4)字符串常量。如“boy”,“123”等,用双撇号把若干个字符括起来,字符串常量是双撇号中的全部字符(但不包括双撇号本身)。注意不能错写成’CHINA’,‘boy’,‘123’。单撇号内只能包含一个字符,双撇号内可以包含一个字符串。

  • (5)符号常量。用#define指令,指定用一个符号名称代表一个常量。如

       #define PI 3.1416 //注意行末没有分号
    

运算符与表达式

常用运算符

  • 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。Java也提供了一套丰富的运算符来操纵变量,们可以把运算符分成以下几组:
    算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符 和 其他运算符

算术运算符与表达式

  • 算术运算符用在算术表达式中,其作用和数学中的运算符相同,一般用于数值运算,可对操作数进行加减乘除、取余、自增和自减操作。
    在这里插入图片描述
自增自减运算符
  • 自增(++)自减(–)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。
    • 前缀自增自减法(++a,–a): 先进行自增或者自减运算,再进行表达式运算。
    • 后缀自增自减法(a++,a–): 先进行表达式运算,再进行自增或者自减运算 实例:
public class Test {
   
    public static void main(String[] args){
   
        int a = 5;//定义一个变量;
        int b = 5;
        // 拆分运算过程为: a=a+1=6; x=2*a=12
        int x = 2*++a;
        // 拆分运算过程为: y=2*b=2*5=10; b=b+1=6
        int y = 2*b++;
        System.out.println("a="+a+",x="+x); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值