Java数据类型datatype.docx

上传人:b****8 文档编号:29744572 上传时间:2023-07-26 格式:DOCX 页数:15 大小:35.27KB
下载 相关 举报
Java数据类型datatype.docx_第1页
第1页 / 共15页
Java数据类型datatype.docx_第2页
第2页 / 共15页
Java数据类型datatype.docx_第3页
第3页 / 共15页
Java数据类型datatype.docx_第4页
第4页 / 共15页
Java数据类型datatype.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Java数据类型datatype.docx

《Java数据类型datatype.docx》由会员分享,可在线阅读,更多相关《Java数据类型datatype.docx(15页珍藏版)》请在冰豆网上搜索。

Java数据类型datatype.docx

Java数据类型datatype

Java语言基础

教学目标:

●了解Java主类结构

●了解Java语言中的基本数据类型

●理解Java语言中的常量与变量

●掌握Java语言中的运算符的使用

●理解Java语言中的数据类型转换

●了解Java语言中的代码注释与编写规范

项目1:

Java主类结构,通过一个打印输出程序明确Java主类结构。

在控制台中打印“你好Java”字符。

代码如下:

packagedatatype;

publicclassClasssStructure{

staticStrings1="你好";

publicstaticvoidmain(String[]args){

Strings2="Java";

System.out.println(s1);

System.out.println(s2);

}

}

明确内容:

1.packagedatatype;包pag中存在类文件T1。

2.publicclassclassstructure公共类,类头。

3.Java程序由一个或多个独立的类组成,但其中必须有一个公有类(如:

ClasssStructure),而且源代码文件必须与这个公有类的名字相同(如:

classstructure.java)。

4.publicstaticvoidmain(String[]args)程序入口。

每一个应用程序必须包含一个main()方法。

5.main()方法中的内容称为类体。

6.staticStrings1="你好";称为全局变量,作用范围在T1类中

7.Strings2="Java";局部变量,作用范围在main()方法中。

 

项目2:

基本数据类型

项目3:

整数类型如下代码:

packagedatatype;

publicclassIntegerType{

publicstaticvoidmain(String[]args){

bytemybyte=124;//范围-127~1288位

shortmyshort=32624;//范围-32768~3276716位

intmyint=45784624;////范围-2147483648~483647214732位

longmylong=46789451;//范围-9223372036854775808~9223372036854775807

//64位

System.out.println(25);//十进制数

System.out.println(011);//八进制数

System.out.println(0x11);//十六进制数

System.out.println(mybyte);

System.out.println(myshort);

System.out.println(myint);

System.out.println(mylong);

}

}

明确:

1.十进制数可直接打印

2.八进制数以“0”开始

3.十六进制数以“0X”或“0x”开始

4.整数类型范围

项目4:

浮点类型float单精度、double双精度

packagedatatype;

publicclassCharInteger{

publicstaticvoidmain(String[]args){

floatf1=13.23f;//表示单精度,必须加f

doubled1=125.625d;//表示双精度

doubled2=125.62578;

System.out.println(f1);

System.out.println(d1);

System.out.println(d2);

}

}

项目5:

字符类型char类型

 

packagedatatype;

publicclassCharType{

publicstaticvoidmain(String[]args){

chara1='d';

chara2='@';

intp1=97;

intp2=45123;

System.out.println("d在Unicode编码中的位置:

"+(int)a1);

System.out.println("@在Unicode编码中的位置:

"+(int)a2);

System.out.println("Unicode编码中97是:

"+(char)p1);

System.out.println("Unicode编码中45123是:

"+(char)p2);

}

}

明确:

1.char类型用于存储单个字符,占用16位两个字节空间。

2.定义变量时用单引号赋值,如:

‘a’。

“a”表示一个字符串。

3.使用(int)变量名显示某字符在Unicode编码中的位置。

4.使用(char)变量名显示Unicode编码中某个编码内容。

项目6布尔类型Boolean类型

packagedatatype;

publicclassBoolType{

publicstaticvoidmain(String[]args){

booleanb1=true;

booleanb2=false;

System.out.println(b1);

System.out.println(b2);

}

}

明确:

1.Java中的布尔数据类型,仅支持ture和false赋值

项目7变量与常量

1.标示符:

标示符是以字母、下划线(_)、美元符($)开始的一个字符序列,后面可以跟字母、下划线、美元符、数字。

合法标示符:

name、user_age、$page

非法标示符:

4word、String、int

2.标识符是大小写敏感的,但没有长度限制。

3.Java关键字是为编译器保留的、具有特定含义的标识符,不能把它用做变量、类或方法的名称。

abstract

default

if

private

throw

boolean

do

implements

protected

throws

break

double

import

public

transient

byte

else

instanceof

return

try

case

extends

int

short

void

catch

final

interface

static

volatile

char

finally

long

super

while

class

float

native

switch

const

for

new

synchronized

continue

goto

package

this

项目8:

声明变量

inta;声明变量a,在内存中开辟空间但没有赋值。

charc1='a';声明变量c1并赋值。

开辟空间并赋值。

如图:

 

项目9:

声明常量

packagedatatype;

publicclassConstant{

finalstaticfloatPI=3.1415926F;

staticintage=23;

publicstaticvoidmain(String[]args){

finalintNUMBER;

NUMBER=123;

age=0;

System.out.println("常量PI="+PI);

System.out.println("赋值后的number="+NUMBER);

System.out.println("int类型age="+age);

}

}

明确:

常量定义final关键字

项目10赋值运算符“=”

packagedatatype;

publicclassAssignmentOperator{

publicstaticvoidmain(String[]args){

inta,b,c;

a=15;

c=b=a+4;

System.out.println("c="+c);

System.out.println("b="+b);

}

}

项目11:

算术运算符+、-、*、/、%

packagedatatype;

publicclassArithmeticOperator{

publicstaticvoidmain(String[]args){

intnumber1=123;

floatnumber2=45.67f;

System.out.println("和为:

"+(number1+number2));

System.out.println("差为:

"+(number1-number2));

System.out.println("积为:

"+(number1*number2));

System.out.println("商为:

"+(number1/number2));

System.out.println("取余:

"+(7%2));

}

}

项目12:

自增自减运算符

packagedatatype;

publicclassSelfOperator{

publicstaticvoidmain(Stringargs[])

{

inta=1;

intb=1;

intc=1;

intd=1;

System.out.println("++a="+(++a));//先加后输出

System.out.println("b++="+(b++));//先输出后加

System.out.println("--c="+(--c));//先减后输出

System.out.println("d--="+(d--));//先输出后减

}

}

项目13比较运算符>;<;==;>=;<=;!

=

packagedatatype;

publicclassComparisonOperator{

publicstaticvoidmain(String[]args){

inta=4;

intb=5;

System.out.println("是否大于:

"+(a>b));

System.out.println("是否小于:

"+(a

System.out.println("是否等于:

"+(a==b));

System.out.println("是否大于等于:

"+(a>=b));

System.out.println("是否小于等于:

"+(a<=b));

System.out.println("是否不等于:

"+(a!

=b));

}

}

项目14逻辑运算符&&;||;!

;&;|

packagedatatype;

publicclassLogicalOperator{

publicstaticvoidmain(String[]args){

inta=2;

intb=5;

booleanb1=(a>b)&&(a!

=b);

booleanb2=(a>b)||(a!

=b);

//&&和||为短路运算符

//[条件1&&条件]条件1不成立,则条件2不执行

//[条件1||条件]条件1成立,则条件2不执行

booleanb3=!

(a>b);

System.out.println(b1);

System.out.println(b2);

System.out.println(b3);

}

}

publicclassLogicDemo{

publicstaticvoidmain(String[]args){

intage=68;

charsex='男';

//if(sex=='女'&age++>60){//&是非短路元算符,两个条件都执行

//System.out.println("请进");

//}

if(sex=='女'&&age++>60){//&&短路元算符,如果条件1不成立,条件2不执行

System.out.println("请进");

}

//&和|为非短路运算符,在任何情况下,运算符两边的两个条件都执行

System.out.println(age);

}

}

明确:

逻辑值之间的运算。

项目15数据类型转换

packagedatatype;

publicclassImplicitConversion{

publicstaticvoidmain(String[]args){

bytemybyte=127;

intmyint=150;

floatmyfloat=13.5f;

charmychar=10;

doublemydouble=13.555;

//隐式转换

System.out.println("byte与float类型转换:

"+(mybyte+myfloat));

System.out.println("byte与int类型转换:

"+(mybyte*myint));

System.out.println("byte与char类型转换:

"+(mybyte/mychar));

System.out.println("double与char类型转换:

"+(mydouble*mychar));

}

}

明确:

1.数据类型转换是将一个值从一种类型转换到另一个类型的过程。

2.Java语言的数据类型转换分为:

隐式类型转换和显示类型转换。

3.低精度转换为高精度不会产生溢出。

4.高精度转为低精度有可能失败。

项目16显示类型转换

packagedatatype;

publicclassExplicitConversion{

publicstaticvoidmain(String[]args){

inta=(int)45.23f;

intb=(int)'d';

System.out.println(a);

System.out.println(b);

}

}

明确:

1.当把高精度转换为低精度时,需要强制类型转换。

2.数据类型精度由低至高:

byte;short;char;int;long;float;double

项目16:

三目运算符

条件表达式?

表达式1:

表达式2

当条件表达式为“true”时,表达式1作为整个表达式的值,否则表达式2作为整个表达式的值。

packagedatatype;

publicclassPaging{

publicstaticvoidmain(String[]args){

inttotal=23;//total条数据

intsize=10;//每页显示10条

intpage=0;//页数

page=total%size==0?

total/size:

total/size+1;

System.out.println(page);

}

}

项目17:

控制台输入

控制台的输入方法有多种,常用的Scanner,我们先学会用,原理暂时不做讲解。

例如:

(1)从控制台接收一行字,再原样输出到控制台

(2)从控制台接收一个数,对这个数取平方,再输出

packagedatatype;

importjava.util.Scanner;

publicclassScaDemo{

publicstaticvoidmain(String[]args){

Scannersca=newScanner(System.in);

//sca用于扫描输入文本,读取用户在命令行输入的各种数据类型的数据

Stringstr=sca.nextLine();//从控制台接收一行字

System.out.println(str);

doublen=sca.nextDouble();//从控制台接收一个数字

n=Math.pow(n,2);

System.out.println(n);

}

}

明确:

(1)java.util.Scanner类,是一个用于扫描输入文本的新的实用程序,可是使用该类创建一个对象,例如Scannersca=newScanner(System.in);

(2)例题中的sca读取用户在命令行输入的各种数据类型

next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot()

(3)上述方法执行时都会造成堵塞等待用户在命令行输入数据回车确认

 

项目18:

各种进制的输出

 

packagedatatype;

publicclassBinDemo{

publicstaticvoidmain(String[]args){

inti=192;

System.out.println(Integer.toBinaryString(i));//输出二进制

System.out.println(Integer.toHexString(i));//输出16进制

i=0Xf4;//以0X或0x开头的为16进制

System.out.println(i);//16进制数输出时默认转换为10进制

System.out.println(Integer.toHexString(i));//输出16进制

i=072;//以0开头的数据为8进制

System.out.println(i);//输出默认转换为10进制

System.out.println(Integer.toOctalString(i));//输出8进制

}

}

 

项目19:

左移(<<)和右移(>>)

packagedatatype;

publicclassMove{ 

   publicstaticvoidmain(String[]args){ 

       System.out.println(5<<2);//运行结果是20 

System.out.println(5>>2);//运行结果是1 

   } 

程序是怎样执行的呢?

1.左移(<<):

首先会将5转为2进制表示形式(java中,整数默认就是int类型,也就是32位):

00000000000000000000000000000101          然后左移2位后,低位补0:

00000000000000000000000000010100          换算成10进制为20

2、右移(>>),右移同理,只是方向不一样罢了(感觉和没说一样)

System.out.println(5>>2);//运行结果是1 

还是先将5转为2进制表示形式:

00000000000000000000000000000101然后右移2位,高位补0:

00000000000000000000000000000001

项目20:

无符号右移(>>>)

我们知道在Java中int类型占32位,可以表示一个正数,也可以表示一个负数。

正数换算成二进制后的最高位为0,负数的二进制最高为为1

例如 :

-5进行无符号右移3位:

packagedatatype;

publicclassUnsignedRightShift{ 

   publicstaticvoidmain(String[]args){ 

       System.out.println(-5>>>3);//结果是536870911 

   } 

我们来看看它的移位过程(可以通过其结果换算成二进制进行对比):

 -5换算成二进制:

11111111111111111111111111111011

-5无符号右移3位后的结果536870911换算成二进制:

00011111111111111111111111111111  //(用0进行补位)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1