Java语法1:数据类型与运算符

变量及类型

在Java中的数据类型可以分为两类:基本数据类型和引用数据类型
其中8种基本数据类型为:byte,short,int,long,float,double,char,boolean
引用数据类型:数组、类、接口

变量的命名

硬性指标:

  1. 一个变量名只能包含数字、字母、下划线
  2. 变量名不能以数字开头
  3. 变量名对于大小写是敏感的
    注:在语法上允许使用$命名变量,但是不建议。

软性指标:

  1. 变量名要做到见名知意
  2. 变量名尽量不要使用拼音;
  3. 变量名的词性尽量使用名词;
  4. 变量的命名推荐使用小驼峰命名法

驼峰式命名法:

小驼峰命名法:变量一般用小驼峰法标识。除第一个单词之外,其他单词首字母是大写。例如:studentName

大驼峰命名法:常用于类名、函数名、属性、命名空间。每一个单词的首字母都是用大写。例如:MaxValue

数据类型

字节类型(byte)

字节类型表示的也是整数,但是只占一个字节,表示的范围是==(-128—> 127)==

byte value=0;
System.out.println(value);

整型

在Java中,整型没有64位或者32位的概念之分,都是4个字节,这也就能够保证Java的安全性,可以跨平台。
整型可以分为短整型(short),整型(int),长整型(long),用来存储不同大小的整数。

//整型变量的定义
short num1=10;
int num2=20;
long num3=100L;

一般的,在初始化long类型的变量时要在变量值后面加上一个L,用来标识该变量是一个long类型的变量。
在Java中可以通过包装类的成员变量来查看数据的取值范围。

// 查看int类型的数据范围
System.out.println(Integer.MAX_VALUE);//最大值
System.out.println(Integer.MIN_VALUE);//最小值
//查看long类型的数据范围
System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);

在这里插入图片描述

浮点型

  1. 单精度浮点型变量(float):4字节
float num=12.3f;
System.out.println(num);

单精度浮点型在进行初始化时,要==在数字后面加上f(F)==用来标识float类型。

  1. 双精度浮点型变量(double):8字节
    Java中的double虽然也是8个字节,但是浮点数的内存布局和整数是不一样的,不能使用2^n的形式来表示数据范围。
double num=1.1;
System.out.println(num);

== 注:由于float表示的数据精度范围小,一般在工程上用浮点数都会优先考虑使用double==

字符型

char ch='A';
char ch2='呵'//使用一个字符表示一个汉字
System.out.println(ch);
System.out.println(ch2);

在计算机中字符的本质也是整数,在C语言中使用ASCII表示字符,Java中使用Unicode来表示字符
一个字符占用两个字节,表示的字符种类也更多,包括中文。
在执行javac时,经常会出现如下情况的错误:
在这里插入图片描述
当遇到这种情况时,解决方法是:加上-encoding utf-8

javac -encoding utf-8 Test.java

布尔类型

boolean类型的变量只有两种取值,true和false,true表示真,false表示假。
在C语言中1表示真,0表示假,但在Java中不能这样使用。
boolean类型没有明确大小,有些书上是1bit,有的是1字节。JVM没有明确的规定。

boolean flag=true;
System.out.println(flag);

字符串类型(引用类型)

String name="zhang";
System.out.println(name);

String 不是基本类型,而是引用类型

  1. 字符串的+操作表示字符串的拼接
String a="hello";
String b="world";
System.out.println(a+b);

在这里插入图片描述
2. 字符串的拼接(可以和整数进行拼接)

String str = "result = "; 
int a = 10; 
int b = 20; 
String result = str + a + b; 
System.out.println(result);

在这里插入图片描述
通过字符串的拼接,就可以同时打印多个字符串或数字。

常量

字面常量

10 //int 字面值常量(十进制)
010 //int (八进制)
0x10 //(十六进制)
10L  //long  字面值常量
12.3  //double
1.0f  //float
true  //bollen
'A'   //char
"abc"  //string 字面值常量

final关键字修饰的常量

在C语言中定义常量时使用const进行修饰,但是在Java中定义一个常量用final进行修饰

int a=1//变量
final int b=0//常量

变量:在运行期间可以改变的,它的值只有在运行时才可以知道它的值;
常量:在编译期间就能确定它的值,在运行期间不可以进行改变。

//代码1
int a=10;
a=80;
int c=a+20;
System.out.println("c的值是:"+c);
//代码2
final int b=20;
//b=11;
int d=b+89;
System.out.println("d的值是:"+d);

在运行期间,常量不能被修改。
在代码1中,a是个变量,a的值在运行的时候才能知道a的值是多少;
在代码2中,b是一个常量,在编译的时候就已经被替换为常量20了。
常量一定要进行初始化,初始化之后才能使用。

类型转换及整型提升

理解类型转换

不同数据类型的变量之间进行赋值,表示范围更小的类型能隐式转换成范围较大的类型
范围大的类型赋值给范围小的,需要进行强制类型转换,但是可能精度会丢失
boolean和其他数据类型不能进行转换(boolean和int,double,long等类型是毫不相干的两种类型)

int a=0;
double b=11.2;
a=(int)b;

整型提升

不同类型的数据进行运算,范围小的会提升成范围大的。
(int 和long 两种数据进 行运算,int就会提升成long)
对于不足四字节的类型,要先提升成4字节数据再进行运算。

int 和string 之间的相互转换

int转成String

int num =12//1:
String str1=num+"";
//2:
String str2=String.valueof(num);//将整型转换为字符串

String转成int

String str="100";
int num=Integer.parseInt(str);//将字符串转成整型

运算符

Java中的运算符和C语言中的运算符基本是相同的,但还是有个别差别。
运算符的类型:
算数运算符----->
基本四则运算: + - * / %;增量赋值运算:+= -= *= /= %= ;自增自减运算:++ –
关系运算符------> == != < > <= >=
逻辑运算符-------> && || !
位运算符----------> & | ~ ^
移位运算符--------> << >> >>>
条件运算符(三目运算符):表达式1 ?表达式2 :表达式3
Java运算符中要注意的:

  1. %运算:

==%==表示取余,不仅可以对int求模,也能对double来求模

  1. i++的特殊例子:
int  i=10;
i=i++;
System.out.println(i);

在这里插入图片描述
3. 关系运算符的表达式返回值都是boolean类型。 true或者false
4.== !只能作用于布尔表达式。==
5.无符号右移>>>:不管符号位是0还是1,统一补0.

1111 1111 >>>1 ------------> 0111 1111

左移1位,相当于原数字*2。左移N位,相当于原数字 *2的N次方
右移1位,相当于原数字/2。右移N位,相当于原数字 / 2的N次方

运算符之间是有优先级的,但是对于具体的规则不需要进行记忆,如果存在歧义时加上括号

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值