Java基础语法2

Java开头所写代码

 Java中每个类都可以用main函数作为启动入口,不必像c语言那样要对其他项目的main进行区别

Java数据类型

基本数据类型 

使用8个关键字声明,结构简单的

数值型(Java各整数类型不受操作系统影响)

整数 byte(1字节)=8个比特位 127

        short(2字节) =

        int (4字节)

        long(8字节)

Java中整数字面量默认是int型,一般声明long类型时在字面量后加L 

int a =0b11;其中 a打印出来是3,因为0b开头一般是2进制

int a =0x11;其中a打印出来是17,因为0x开头是16进制

int a=011;其中a打印出来是9,因为0开头是8进制

浮点:有两种表现形式 十进制数 科学计数法

float (4字节)定义float类型需要在字面量后加f或F因为Java中浮点数字面量会默认为double类型

double (8字节)

在Java实际开发中,float double用的比较少

字符型

char

char a='a';只能表示单个字符,大小是2字节,可以表示世界上每一个字符

char a='中';

char类型可以进行算术运算,运算时,实际上用的是字符在编码表中的十进制编号运算

计算机底层只认识二进制,不认识字符,每个字符在底层的编码表中有对应的整数符号

Unicode编码 将世界上每一个字符都纳入其中。

布尔型

boolean

一般用于程序流程控制,适用于逻辑运算。

Java中boolean只允许取值true或者false。不可以用0或非0

引用数据类型

用系统中的类作为类型 例如String 类似于c语言的结构体

使用一对”来表示一个字符串,内部包括0个或多个

String str="abcd" 底层与c语言一致使用数组存储字符 

运算规律

基本数据类型转换

 

 默认转换(小容量类型转换为大容量类型)

char运算

char类型可以运算因为char在字符编码表中有对应的数值

char a='c'+1;先将c提升为int类型再进行运算。

byte a=127;

int b=a;

long c=b;

float d=c; //4个字节的float类型 容量大于八个字节的long,原因是小数和整数在底层的二进制存储计算方式不同

double e=c;

小类型的转换为大类型的,可以自动转换。

强制转换

//大容量类型转换为小容量类型

可能会出现问题:1.溢出了

输入下列代码结果会不会不同

虽然看起来很正常 但是10在byte中不会溢出若输入一个远大于byte容量的数

结果是

那麽为什么会变成这样呢

byte小容量的类型只会显示一个字节的二进制数,第一位是符号位0代表正数,结果溢出存储为2

若float=10.55f被强制转化为int类型只会显示整数部分,即精度缺失。

运算符

算术运算符

+ 1.加法运算 2.连接(数值+字符串)(字符串+字符串) 3.正负号

- 1.减法 2.负号

++:自增1 e++先进行运算再自增,++e先进行自增再运算

--:自减1   e--先进行运算再自减,--e先进行自减再运算

/

%

比较运算符

== ,!=:用于数值与数值之间比较    还可以用布尔值与布尔值          还可以用于引用类型和引用类型

例子如下

<

>

>=

<=

这四个只能比较数值与数值(char)的大小

逻辑运算符

逻辑运算:逻辑值

&:逻辑与

&&:逻辑与(短路与) 遇到false后,不会继续运行后面的表达式

与中两者有一个为假则全部为假

|:逻辑或

||:逻辑或(短路或) 遇到true后,不会继续运行后面的表达式

或中两者有一个为真则全为真

!:逻辑非

^:逻辑异或(相同为假,不同为真)

赋值运算符

=:负值时,注意左右两边数据类型一致,不同时要遵循数据类型转换规律

注意==和=之间的区别

a+=5//a=a+5

short a=3;//隐式类型转换 int----->byte short

a=a+2;//会出错 a为short型,2为int型, short=short+int-------->int

a+=2;//会隐式类型转换 short=(short)int

int i=1;

i*=0.1;隐式类型转换 不会出错,i最后是0。

条件运算符

语法

(条件表达式)?表达式一:表达式二;

条件为true,运算后的结果是表达式一

条件为false,运算后的结果是表达式二

控制台输入

先输入Scanner使头文件出现import Java.util.Scanner;

然后继续写  new在Scanner之前再在其之后写(System.in);创建类的对象

Scanner Scanner=new Scanner(System.in)//创建一个输入功能的对象

                String name=Scanner.next();// 读入控制台调用Scanner函数写字符串

nextInt()指的是输入的是整数型

然后在控制台输入相应内容

位运算符 

 

控制语句

● 条件语句 - 根据不同条件,执行不同语句。

● if ● if .. else

● if .. else if

● if .. else if .. else if .. else

● switch

● 循环语句 – 重复执行某些动作

● for

● while

● do .. while;

switch语句

switch语句:多分支选择语句,根据表达式的值,来执行多个操作中的一个。

switch (表达式)

{

case value1: 语句序列1;

[break];

…………

case valueN: 语句序列N;

[break];

[

default : 缺省语句;

]

}

表达式可以是byte、short、int、char、枚举类型、String类型;

case语句后面只能使用常量表达式;

case后的值不能重复;

某个case分支如果没有提供break语句,则继续执行下一个case后的语句;

当表达式的值与任一case子句中的值都不匹配时,将执行default后面的语句; 如果没有default子句,则程序直接跳出switch语句。

循环

● 循环语句分类

while 循环

变量初始化;

while(条件表达式){

  循环体

   迭代部分

}

do/while 循环

do

{ 循环体

迭代部分

}

while(条件表达式)

for 循环

 

 break&continue

循环嵌套

  • 32
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值