Java教程

JavaSE 基础语法一 标识符、数据类型、运算符

本文主要是介绍JavaSE 基础语法一 标识符、数据类型、运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JavaSE 基础语法一 标识符、数据类型、运算符

java基础入门

1.标识符 Identifier

作用–常量、变量、方法、类和包等的名称
常规建议:

1.驼峰标识
		 1.类名,接口名称在命名的时候要首字符大写
		  2.方法,变量命名的时候首字符要小写
		  3.多个单词拼接表示一个标识符的时候,每个单词的首字符都大写
2.见名知义
  通过标识符的名称能知道代表的含义
  千万不要写拼音
命令规则    
    必须以字母、_下划线、美元符$开头
    其他部分可以是字母、下划线_、美元符$和数据的任意组合
    大小写敏感、长度无限制
    不可用是java的关键字
注意
   Java不采用通常语言使用的ASCII字符集
   Java采用unicode这样的标准的国际字符集。因此,这里的字母的含义:英文、汉字等等

关键字/保留字
Java关键字是Java语言保留供内部使用的,如Class用于定义类,关键字也可以称为保留字。

字符集简介

ASCII  -英文字符集1个字节    128个
ISO8859  -西欧字符集 1个字节
BIG5 台湾的大五码,表示繁体汉字, 2个字节
GB2312  大陆使用最早的、最广的简体中文字符集 2个字节
GBK GB2312的扩展,可以表示繁体中文 2个字节
GB18030  最小GBK的扩展
Unicode 国际通用字符集 2个字节  (utf-8 /utf-16)

2.Java基本数据类型

Java是一种强类型语言。

  • 常量是有数据类型
    -变量都必须声明其数据类型
 强类型表示:变量在定义的时候必须显式的声明类型是什么  java
 弱类型表示:变量会根据值自己去推断,不需要指定类型是什么 js python,scala

数据类型 4类8种

1.基本数据类型
    整数类型(byte,short,int,long) 不同类型表示不同的长度
       byte:使用一个字节存储,因此范围是  -128 ~ 127
       short:使用两个字节存储,因此范围是 -32768 ~ 32767
       int: 使用四个字节存储,因此范围是 正负21亿
       long:使用四个字节存储,因此范围是一般不会超出 
       注意:
           在使用整型类型的时候,默认都是int类型,如果需要使用long类型的话,
           必须要在数字后面添加L,建议使用大写
    浮点类型(float,double)
       float: 单精度  4 字节  范围:2^32
       double:双精度  8 字节 范围 2^64
    字符型 char
      占用2个字节,使用的时候使用''表示
    布尔类 boolean
       只有true和false两值,在存储的时候占1位
2.引用数据类型
  类 class
  接口 interface
  数组

2.1 整形数据类型

整型常量
    -十进制整数,如:99,-60,0
    -八进制整数,要求以0开头,如:015
    -十六进制数,要求0x 或0X 开头,如:0x15
整型变量
 整型常量默认为int型,声明long类型常量可以后加"l"或"L"(建议使用大写)
 如:long a=555555 //在int表示范围内21
     long b=555555555555  //不加L出错

2.2 浮点型数据类型

浮点类型常量
 -十进制形式,例如 3.14   314.0 0.314
 科学记数法形式如  
   314e2  314E2  313E-2  e表示10^2
   double f=314e2;  //314*10^2--->31400.0
   double f2=314e-2;  //314*10^(-2) ----->3.14
浮点型变量
 float类型:单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求
 double类型:双精度类型 精度是float类型的两倍,绝大部分应用乘车都采用double类型。
注意:
   -浮点常量默认为double。要变为float,需要在后面增加F/f 如:3.14f
   -浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数字计算,
    需要使用BigDecimal类

2.3 字符数据类型(2个字节)

1.单引号用来表示字符常量,例如'A'是一个字符,它与"A"是不同的,"A"表示含有一个字符的字符串
2.char类型用来表示在Unicode编码表中的字符串。
3.Unicode编码被设计用来处理各种语言的所有文字,它占2个字节,可允许有65536个字符;ASCII码占1个字节
 ,可允许有128个字符(最高位是0),是Unicode编码表中前128个字符
4.Java语言中还允许使用转义字符'\'来将其后的字符转变为其他的含义
   char c2='\n';  //代表换行符
5.char类型在内存中存储的是该字符的Unicode编码值,所以char类型可以当int类型来处理   

2.3 布尔数据类型(一位,不是一个字节)

boolean类型有两个值,true和false
boolean 类型用来判断逻辑条件,一般用于程序流程控制
实践:
  请不要这样写: if(is ==true && done ==false),只有新手才那么写
  对于任何程序员if(whether && !done) .去掉所有的==fasle 和 == true

2.4 常量和变量

常量:在程序运行过程中,值不会发生改变的量叫做常量
变量:在程序运行过程中,值会发生改变的量叫做变量

变量:变量名称、变量类型、作用域
      1.先声明,后赋值    
         int  a ; 声明   a=10;赋值
      2.声明+赋值  
        int  b=5;
注意:在类内,方法外定义的变量叫成员变量,会存在默认值
           在方法内,定义的变量必须要进行初始化操作,不会存在默认值
           在一行中可以定义多个变量,但不推荐
           给变量赋值过程中,变量的值成为常量
          使用final关键字修饰的变量称为常量,表示不可修改
注意事项:
      1.每个变量都有类型,类型可以是基本类型,也可以是引用类型
       2.变量名必须是合法的标识符       

final常量

使用final 修饰的变量,只能被初始化一次,变成了常量
final 常量是有名称的

2.5 运算符

1.算术运算符  +,-,*,/,%,++,--
    int  a = 1;  int b= 2;
    a/b =0 //取整除,或者取商
    a%b =1 //取余数,或者取模
     
    单目运算符
    // ++ ,表示在变量原有的基础上+1,谁在前,先运算谁
    a++  =1   //a=1  a在前先打印输出,然后自加1
    ++a  =3   //++ 1  2+1 再输出a
    // -- ,表示在变量原有的基础上-1,谁在前,先运算谁
    a-- =3;
    --a =1;
    //为什么会是6
    ++b+b++=6
 
2. 赋值运算符  =
  java中=表示赋值运算符,==表示相等的操作

3. 扩赋值运算符   +=,-=,*=,/=      
  int c =1 ;
  c = c +2;  //两写法意义一样,表示加2的基本操作
  c +=2;
  //类型转换问题,d是byte,d+1 整体变成int类型,需要将int类型的值转换为byte,会有精度损失, 因此需要强转
 //建议在进行操作的时候使用扩赋值运算符
  面试题:byte d =10; d=d+1;  报错 
  byte d =10;
  d+=1;

4.关系运算符: >,<,>=,<=,==,!=    
 用来比较两个值的关系,返回的值是boolean类型,只有true和false
 
5.逻辑运算符: &&,||,!
  逻辑运算符一般两边的值不是具体的值,而是表达式  
  // &&: 表示短路与,两边表达式中只要有一个是false,整体结果就是false
  //两边表达式从左向右开始对比,如果左边的表达式是false,右边不需要进行判断
 
 // ||: 表示短路或,两边表达式中只要有一个是true,整体结果就是true
  //两边表达式从左向右开始对比,如果左边的表达式是true,右边不需要进行判断  
 // ! :取反 ,如果是true,取反是false,如果是false,取反就是true
 // & :与运算符,但是两边都会参与运算
 // | :或运算符,两边都会参与运算
 
if(!(4))
6.位运算符: &,|,^(异或),~(取反) , 移位 >>,<<,>>> (了解!!!)
  作用:只能操作数值,操作的时候会转成二进制进行运算
   4 & 5 =  4    4=100 5=101 二进制 &  2个二进制比较 有0都为0
   4 | 5 = 5    4=100 5=101 二进制 &  2个二进制比较 有1都为1
   4 ^ 5 = 1     4=100 5=101 二进制 &  2个二进制比较 相异为1,相同为0, 0和1位相异,1和1相同为0
   ~4 = -5       4=100 取反 011=3  移码,补码、原码、反码????
   
把2 变 8最快方法 左移
//左移表示乘以2,右移表示除以2
  2 << 3  =16  2=0010  移动一次 0100 移动2次 1000 移动3次  10000## 标题
  16 >> 2  16=10000 移1次01000 移两次 00100 2^2 =4
  
7.条件运算符或者三目运算符 ? :
    使用的时候需要跟一个表达式,表达式如果是true,则返回?后的结果,如果是false,则返回:后的结果
    例子:3>2 ? 3:2 =3
    false?false:true?false:true
这篇关于JavaSE 基础语法一 标识符、数据类型、运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!