标识符与数据类型
char
enum long struct while
const
extern
continu e
float
defaul t
for short union
registe return switch typedef
变量
• 变量
– 程序要为每一项数据分配内存,通常使用变量 来存储数据。使用变量可以引用存储在内存中 的数据,并随时根据需要显示数据或执行数据 操纵。 – 使用变量时必须‚先定义,后使用‛
注意:字母e(或E)之前必须有数字,且e后面的指数必须为整数
类型类型与范围32
类型 float 位数 32位 有效位数 至少6位 取值范围 至少10-38~1038
double long double
64位 96位
至少10位 与double相同
至少10-308~10308 与double相同
• 与整型数据的存储方式不同,浮点型数据是按照指数形式 存储的。系统把一个浮点型数据分成小数部分和指数部分 ,分别存放。指数部分采用规范化的指数形式。 • 浮点数类型的表示1.23f
– 英文字母:大小写26个,共52个; – 阿拉伯数字:0-9共10个数字; – 下划线与分号: – 特殊符号:
• 运算符、分隔符
标识符
• 标识符定义
–用来标识变量名、符号常量名、函数名、类型 名、文件名等的有效字符序列;
• 标识符的规则
–标识符只能由字母、数字和下划线三种字符组 成,且第一个字符必须为字母或下划线; –C 语言中的标识符大小写敏感; –用户自定义的标识符不能与关键字同名;
C语言数据类型
数据类型方便让我们 对于不同的数据分类 处理
数据类型的关键字
• K&R关键字
– Int、Long、Short、Char、Float、double、 unsigned、
• C90关键字
– Signed、void
• C99关键字
– _Bool、_Complex、_Imaginary
Int类型
– Signed int;
整数类型的选择
• 使用最常用的int类型 • 优先考虑unsigned类型 • 当使用int类型不能表示一个数而使用long类 型可以做到时,使用long类型; • 在int为32位的系统中,如果需要16位的值 ,那么使用short类型可以节省存储空间;
整型数据32位机
– 定义后初始化变量
• variablename = value; • 例如:int num;num = 12;
给变量赋值,除了给一个直接的值以外,还可以通过计算获得。
变量的命名
• 编译系统将大写字母和小写字母认为是两 个不同的字符。 • 在选择变量名和其它标识符时,应注意做 到‚见名知意‛,即选有含意的英文单词 (或其缩写)作标识符。
0~65535
0~(232-1)
代码示例
#include <stdio.h> int main(void) { int i_number = 10; short s_number = 10; long l_number =10L; unsigned ui_number =10u; unsigned short us_number = 10U; unsigned long ul_number = 10UL; printf("int sizeof :%d\n",(sizeof i_number)); printf("short sizeof:%d\n",(sizeof s_number)); printf("long sizeof :%d\n",(sizeof l_number)); printf("unsigned int sizeof :%d\n",(sizeof ui_number)); printf("unsigned short sizeof :%d\n",(sizeof us_number)); printf("unsigned long sizeof :%d\n",(sizeof ul_number)); return 0; }
– unsigned int varNum; – varNum = 23123; – 加上unsigned前缀,正数的取值范围是原来的两倍 – Signed与unsigned修饰符可以与 int 和 float 数据类型 一起使用 – unsigned int 支持的范围是从 0 到 4,294,967,295
注意:每个要显示的值都必须对应自己的格式说明符,并且显示 值的类型要同说明符相匹配;
浮点数类型
• 浮点数类型分类
– 单精度(float型) – 双精度(double型) – 长双精度型(long double)
• 浮点数的表示形式
– 小数形式:0.123; – 指数形式:3e-3
• 规范化的指数形式:在字母e(或E)之前的小数部分中,小 数点左边应有一位(且只能有一位)非零的数字. • 如:123.456可以表示为1.23456e2
#include <stdio.h> int main(void) { float f_number = 4321.0f; double d_number = 1.234e3; long double ld_number = 1.234e-3L; printf("%f can be written %e,and float sizeof :%d\n",f_number,f_number,(sizeof f_number)); printf("%f can be written %e ,and double sizeof :%d\n",d_number,d_number,(sizeof d_number)); printf("%Lf can be written %Le,and long double sizeof :%d\n",ld_number,ld_number,(sizeof ld_number)); return 0; }
整数溢出问题
#include <stdio.h> #include <limits.h> int main(void) { int max = INT_MAX; int min = INT_MIN; unsigned int umax = UINT_MAX; printf("the max+1 is %d\n",max+1); printf("the min-1 is %d\n",min-1); printf("the umax +1 is %u\n",umax+1); return 0; }
类型 int short 占用内存字节数 4个字节 2个字节 数的范围
-231~231-1
-32768~32767
Long char
unsigned unsigned short unsigned long
4个字节 1个字节
4个字节 2个字节 4个字节
-231 ~ 231-1 (和 int 一样,不 常用) 0~(232-1)
注意:整数溢出程序不会报错,所以写程序时一定要小心,当达 到最大值时会从新从起点开始.(有符号数)最大值加一变成最小 值,最小值减一变成最大值。无符号整形减一为 0 (数据以补码 形式存储,符号位不参加取反等命令)
signed和unsigned类型
• signed最重要的是修改char数据类型 • unsigned 类型指定变量只能接受正值
• Int类型
– – – – – Int age = 21; Int age =21,score=90; Int age,score=90; #define MAX_AGE 200 Printf(‚%d‛,score);
• 整数类型的表示形式
– 十进制:没有前缀,0~9的数字组成; 12322、0、232 – 八进制:以0打头,由0~7的数字组成; 023、0101 – 十六进制:以0X或0x打头,由0~9、A~F或a~f组成 0x12=18(十进制)
嵌入式Linux系统开发技术
第4讲 标识符与数据类型
基本C语言的语法
• 标识符与关键字 • 变量与常量 • C语言数据类型
C语言数据存储
• 数据的存储使用变量或常量表示
内存
数据15 15 内存中的数据
通过变量,可以为内 存中的位置提供一个 有意义的名称
C语言的字符集
• C语言的基本符号可以分为4类
变量的声明与初始化
• 变量的声明 • 变量初始化的时机
– 定义时初始化变量
• Datatype variablename = value; • 例如:int num1,num2 = 12; 数据类型 变量名称;
– 先定义后使用(存储类型,默认为auto)+ 数据类型 +变量
int varName;
数值的显示
• 使用八进制显示:%o、%#o • 使用十六进制显示:%x、%#x、%#X
#include <stdio.h> int main(void) { int age = 20; printf("dec = %d;octal = %o;hex = %x\n",age,age,age); printf("dec = %d;octal = %#o;hex = %#x\n",age,age,age); return 0; }
– F或f:表示float类型 – L或l:表示long double类型;
浮点数的输出格式
C语言第2讲--数据的表示之基本数据类型
5.字符输出举例
例3.7(P51) main() 运行结果:A,B { char a,b; 65,66 a='a'; b='b'; /*或 b=98;可向字符变量赋以整数 */ a=a-32; b=b-32; printf("%c,%c\n%d,%d\n",a,b,a,b); } 注:C语言允许字符变量参与数值运算,即用字符 的ASCII 码参与运算。 大小写字母的ASCII 码相差32,因此运算后把小写 字母换成大写字母
结果:total1=300 total2=600
6
二、变量
变量以标识符命名。 变量的定义: 类型名 标识符1,标识符2,......标识符n; int a,b,c; float x,y,z;
注意事项:
/* a,b,c 为整型变量 */ /* x,y,z 为单精度型变量 */
(1)
(2)
变量必须先定义后使用
double a1,a2; a1,a2为double型变量名,每个 变量占8个字节的空间
20
3.浮点型数据的格式输出
#include <stdio.h> /*可省 */ void main() { float a=123.456; double b=1234.5678; printf(“a=%f\n”,a); printf(“b=%f\n”,b); }
输出结果: a=123.456001 b=1234.567800
21
4.printf( )函数中浮点型数据的输 出格式符(自阅)
%f :按小数形式输出实数(包括双精度),默认保留6位
小数。
%e(=%E):按指数形式输出实数(包括双精度) ,尾数 部分默认保留6位有效数字。 %.3f:按小数形式输出实数,保留3位小数。 %8.3f :按小数形式输出实数,保留3位小数,数据总宽
标识符and数据类型
标识符and数据类型⼀,标识符1.标识符⽤来给类,变量,包,⽅法等起名字的。
2.只能由字符,下滑线,美元符组成;这⾥的字符有⼤⼩写字母,中⽂字符,数字字符,但是符号只能有两个下划线和美元符。
3.不能由数字开头。
4.不能是java中的关键字。
note:建议见名知意,只使⽤英⽂字母和数字常见的命名规则a) 类:每个单词⾸字母要⼤写如class Student,class HelloWorldb)变量:第⼀个单词完全⼩写,后续更多单词⾸字母⼤写,如age,ageOfMyGirlfriend。
c)⽅法与变量规则⼀样如show(),getAge().d)包(其实就是⽂件夹,⽤于对类进⾏管理)全部⼩写,多级包⽤点隔开。
公司域名的反写cn.itcast (相当于两级⽂件夹:cn\itcast)com.itheima (相当于两级⽂件夹:com\itheima)⼆,数据类型分为基本类型和引⽤类型1,基本类型(8种):byte(1个字节),short(2个字节),int(4个字节),long(8个字节),float(4个字节),double(8个字节),char(字符型2个字节),boolean(1个字节)。
2,引⽤类型(除了基本的都算引⽤类型)有字符串,数组,类,接⼝,Lambda等。
note:3.整数类型有4种,默认为int类型4.浮点数类型有2种,默认为double类型5.定义⼀个long型整数,在数值后⾯⽤字母L作为后缀(⼤⼩写都可以建议⽤⼤写)520000000L6.定义⼀个float类型数据,在数值后⾯⽤字母F作为后缀(⼤⼩写均可建议⽤⼤写)3.14F7.字符char类型是可以包含中⽂的。
第三章标识符 关键字和数据类型
注:系统自动引入ng包,因此不需要再使用import语句引入该包
高级循环控制
嵌套式循环 格式:
for (表达式1;表达式2;表达式3) { for(表达式1;表达式2;表达式3) {若干语句 } }
for(int a=1;a<=4;a++) { for(int b=1;b<a;b++) { System.out.print(“*”); } System.out.println(); }
语句
Switch开关语句:适合多分支
格式: switch(表达式)
case 常量值1: 若干个语句 break; case 常量值2 : 若干个语句 break … … … case 常量值n: 若干个语句 break; default: 若干语句 }
{
a. switch语句中表达式的值必须是整 型或字符型 b. 常量值1到常量值 n必须也是整型 或字符型 c. 在同一个switch语句中,case后的 常量值必须互不相同 d. switch语句先计算表达式的值,若 值和某个case 后面的值相同,就 ; 执行该case里的语句直到break语 句为止。 e. 若没有值与表达式的值相同,则执 行default后面的语句。 f. default是可有可无的,若它不存 在,且所有的值都和表达式的值不 同,则switch语句就不会进行任何 处理。
语句
2)循环语句
for循环语句
a. b.
for (表达式1;表达式2;表达式3) c. { 若干语句 }
表达式1负责完成变量的初始化 表达式式2是值为boolean型的表达式, 称为循环条件 表达式3用来修整变量,改变循环条件
c语言第3章 数据类型及表达式
•除 当除号两边都是整型量时,叫做整除 整除, 当除号两边都是整型量时,叫做整除,运算结果只保 留整数部分。 留整数部分。 当除号任何一边有实型量时,运算结果是实数。 当除号任何一边有实型量时,运算结果是实数。 #include <stdio.h> main() main() { float div; div=1/2; printf( %f %f\ ,div); printf(“%f\n”,div); }
–规则: 规则: 规则
–见名知意 见名知意 –不宜混淆 不宜混淆
请指出下列标识符的正误: 请指出下列标识符的正误: main、count、!count、new、5abc、if、do、L_5、who、a123、 main、count、!count、new、5abc、if、do、L_5、who、a123、 _A、_123、c#、 _A、_123、c#、r-3、printf
h e l l o , w o r l d \0 • 注意: 注意: 字符常量和字符串常量是两个不同的概念 字符常量和字符串常量是两个不同的概念
char ch; ch=‘A ; ch= A’; char ch; ch=“A ;// ;//错误 ch= A”;//错误
A
\0
\0
3.7 字符型数据
3.7.3 字符型变量
3.3 常量
常量 • 定义:程序运行时值不能改变的量,即常数。 定义:程序运行时值不能改变的量,即常数。 • 分类: 分类: 符号常量: 符号常量:用标识符表示具体值 • 定义格式: 定义格式: • 一般用大写字母 直接常量: 直接常量:直接写出具体值 • 整型常量 • 实型常量 • 字符常量 • 字符串常量 常量值 #define 标识符 常量值
第三章 数据类型、运算符及表达式§31 字符及标识符
2关系运算符
比较两个操作数的大小的运算符,称为关系运算符。 关系运算的表达式,称为关系表达式。 例如, 3+5 > 7-4 关系表达式也有它的值。 如: 8 > 3, 该关系成立,因此关系表达式的值为真, 反之, 其值为假。 在C语言中,用数值1表示真,用数0表示假。 如,7 == 2,关系表达式为假,其值为0。 关系运算符的种类和表达式如下:
•
*C 语言提供的长整数的表示方法可以用来扩大整数的取值 范围. – 例如, 41l, 037l, 0x1fL 字母后面的l 或 L ,表示该数是长常数., 上面三个数,分别是十进制、八进制、十六进制长整数。 一个在整数中放不下的普通整数也被作为长整数,
因此, 把其后紧跟有 l 或 L 的整数叫显式长整数. • 在16位字长的机器上,长整数的位数是 32 位 ( 增长一倍 )。 故长十进制整数取值范围为 -2147483648 到 2147483647。 (2)整型变量: • 基本整型 int 如: int x; • 长整型 long 如: long int y; 或 long y ; • 无符号 unsugend 如: unsigend int z; 或 unsigend z。
• 关键字
具有固定意义的标识符,用户不能用作为自己的标识符, 它们共有32个,除符号常量外都用小写字母表示,就其用途 分五类。 (1) 数据类型 int char float double short ... (2) 存储类型 extern static register auto typedef (3) 控制语句 if else for while do .... (4) 运算符 sizeof (5) 符号常量 EOF BOF .... *它们的含义后面将会络续提到。 * 用户定义的标识符,不能和关键字同名。
04标识符、关键字、数据类型-zw
2011-7-15
标识符、关键字、数据类型
17
Softeem Consultancy Service
特殊字符
转义符
\b \n \r \t \“ “ \‘ ‘ \\
2011-7-15
含义
退格( 退格(backspace) ) 换行 回车 制表符( ) 制表符(tab) 双引号 单引号 反斜杠
2011-7-15
标识符、关键字、数据类型
9
Softeem Consultancy Service
Java关键字、保留字列表 关键字、 关键字
abstract case default for native package static while volatile assert catch do goto new private strictfp void finally boolean char extends long null protected super throw true break class else if instanceof public switch throws false byte const final implements int return synchronized transient continue double float import interface short this try
2011-7-15
标识符、关键字、数据类型
6
Softeem Consultancy Service
标识符
标识符用作给变量、 标识符用作给变量、类、方法、包、接口,枚举等命 方法、 接口,枚举等命 名 可以以字母、下划线“_”、 “$” 开头 可以以 、 首字符外,还可以加上数字 首字符外 还可以加上 不能用关键字和保留字作为标识符 不能用 和 作为标识符 标识符没有长度限制 标识符 Java是大小写 是大小写敏感的,标识符也不例外 是大小写 的
计算机二级第2章 语法基础
16
字符串常量和字符常量的区别
字符常量'A'与字符串常量 是两回事: 字符常量 与字符串常量"A"是两回事: 与字符串常量 是两回事
1. 定界符不同:字符常量使用单引号,而字符串常量使 定界符不同:字符常量使用单引号,
用双引号; 用双引号;
2. 长度不同:字符常量的长度固定为 ,而字符串常量 长度不同:字符常量的长度固定为1,
2.
3.
13
程序举例
main( ) { char ch1,ch2; ch1='a'; ch2='b'; printf("ch1=%c,ch2=%c\ printf("ch1=%c,ch2=%c\n",ch1,ch2); printf("ch1=%d,ch2=%d\ printf("ch1=%d,ch2=%d\n",ch1,ch2); } 程序运行结果: 程序运行结果: ch1=A,ch2=b ch1+200=297 ch1+200=) ch1+256=353 ch1+256=a
程序运行结果: 程序运行结果: ch1=a,ch2=b ch1=97,ch2=98
main( ) { char ch1,ch2; ch1='a'; ch2='B'; /*字母的大小 写转换*/ printf("ch1=%c,ch2=%c\n",ch132,ch2+32); /*用字符形式输出一个大于256的数值*/ printf("ch1+200=%d\n", ch1+200); printf("ch1+200=%c\n", ch1+200); printf("ch1+256=%d\n", ch1+256); 14 printf("ch1+256=%c\n", ch1+256);}
java PPT 教学2
Java 基础
主要内容
Java标识符、数据类型 标识符、 标识符 常量与变量 Java运算符、表达式、优先级 运算符、 运算符 表达式、 Java示例 示例
一、Java符号 符号
Java语言采用 语言采用Unicode字符集,它 字符集, 语言采用 字符集 位数组成, 由16位数组成,而通常采用的 位数组成 ASCII码也被包含其中。 码也被包含其中。 码也被包含其中 Java符号分为:标识符、关键字、 符号分为: 符号分为 标识符、关键字、 运算符和分隔符。 运算符和分隔符。
注释
注释是为源程序增加必要的解释说明的内容, 注释是为源程序增加必要的解释说明的内容,其目 是为源程序增加必要的解释说明的内容 的是提高程序的可读性, 的是提高程序的可读性,书写注释是编写程序的良 好习惯。Java中有三种形式的注释 中有三种形式的注释: 好习惯。Java中有三种形式的注释:
// 注释部分
运算符和分隔符
1. 将如“+”符号称为运算符。Java语言 将如“ 符号称为运算符 符号称为运算符。 语言 中包含有算术运算符 逻辑运算符、 算术运算符、 中包含有算术运算符、逻辑运算符、 位运算符等。 位运算符等 2. 分隔符被用来区分 Java 源程序中的 基本成分(标识符、关键字、分隔符、 基本成分(标识符、关键字、分隔符、 运算符和常量),分隔符分为注释、 ),分隔符分为注释 运算符和常量),分隔符分为注释、 空白符和普通三种。
定义变量
定义变量有两个任务:一是定义变量的名称; 定义变量有两个任务:一是定义变量的名称; 二是定义这个变量的数据类型 语言中,所有的变量必须先定义后使用。 在 Java 语言中,所有的变量必须先定义后使用。 其格式为: 其格式为: 标识符1[=初值] 1[=初值 标识符2...] 2...]; 数据类型 标识符1[=初值],[标识符2...]; 如果变量定义的是基本数据类型, 如果变量定义的是基本数据类型,变量在声明时就 为其分配内存空间,否则, 为其分配内存空间,否则,还需要用 new 为声明 的变量分配空间 分配空间。 的变量分配空间。
C++语言基础--01_合法标识符与基本数据类型
C++语⾔基础--01_合法标识符与基本数据类型合法标识符与基本数据类型⼀⼯具VS2013本质:集成开发环境(IDE)包括编辑器编译器调试器等操作:Ctrl+F5 运⾏F5 调试逐语句:F11 逐过程:F10Ctrl+K+C 注释Ctrl+K+U 取消注释Ctrl+滚轮放⼤缩⼩⼆项⽬⽂件分析.sln:打开项⽬(解决⽅案).sdf:分析⽂件.cpp:源⽂件.h :头⽂件⼀般源⽂件和头⽂件是成对出现,⽂件名相同(hero.h hero.cpp)三程序1 流程a 程序员在编辑器编辑代码-->编译器编译-->运⾏需要调试时由程序员⼿动启动调试器(⼀般需要断点)b 程序执⾏顺序:从上往下执⾏遇到特定结构,按照语法规则执⾏2 ⼊⼝main()函数是程序的⼊⼝⼜叫主函数、⼊⼝函数每个项⽬有且仅有⼀个3 注释// 单⾏注释/*多⾏注释*/注释是不会被程序执⾏4 代码主函数中,return语句下⾯的代码不会被执⾏5 引⽤头⽂件时,<> 和 "" 的区别<>:直接在系统⽬录下查找⽂件,找不到就报错 "":先在当前⽬录下查找⽂件,找不到就在系统⽬录下查找⽂件,再找不到就报错总结:为了程序执⾏的速度合理选择查找⽅式⼀般情况下,⾃定义⽂件使⽤"",系统⽂件使⽤<>四输⼊输出C语⾔:int a,b,c;scanf("%d %d,%d",&a,&b,&c);//注意先空格再逗号 ==>规定输⼊格式,输⼊时必须按照指定各式输⼊printf("a=%d,b=%d,c=%d\n",a,b,c);// 注意顺序char ch;scanf("%c",&ch);printf("ch = %c",ch);printf("ch = %d",ch);C++:int e,f,g;cin>>e>>f>>g;cout<<"e="<<e<<" f="<<f<<" g="<<g<<endl;C语⾔和C++语⾔的关系:· C语⾔和C++是两门不同的语⾔· C++包含了⼏乎全部的C语⾔内容· C语⾔:⾯向过程的语⾔ C++:既可以⾯向过程⼜可以⾯向对象的语⾔· C++是在C语⾔的基础上发展⽽来,C++在C语⾔的基础上增加了“类”的概念,从⽽可以实现⾯向对象编程五进制转换内存:基本单位:字节(⼀个字节存储8位⼆进制)概念:满⼏进⼀就是⼏进制常⽤进制:⼆进制⼋进制⼗进制⼗六进制注意:三位⼆进制对应⼀位⼋进制四位⼆进制对应⼀位⼗六进制⼋进制:017 023 0开头表⽰⼋进制⼗六进制: 0XA5 0xa5 0x或0X开头表⽰⼗六进制⼆进制 0 1 (和⼗进制转换的⽅法)⼋进制 0 1 2 3 4 5 6 7⼗进制 0 1 2 3 4 5 6 7 8 9⼗六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f 或 0 1 2 3 4 5 6 7 8 9 A B C D E F六常量和变量常量:固定不变的量不能赋值(字符数值地址)变量:可以改变的量可以赋值七基本数据类型(变量)整型:整数类型short(2)短整型int(4)整型long(4)长整型long long (8)浮点型:float(4)单精度浮点型double(8)双精度浮点型long double (8)扩展精度浮点数float number = 3.14e3;//3.14*10^3 科学计数法 e后⾯必须是整数printf("number = %5.2f\n",number);//宽度为5 两位⼩数总宽度可以超过5,不⾜⽤空格在前⾯补齐字符型:char(1)1 char与字母char ch = 'a';printf("ch = %c\n", ch);//指定输出格式为字符(%c)printf("ch = %d\n", ch);//(%d)==>字符型和整数可以相互转换(ASCII)char ch1 = 99;printf("ch1 = %c\n", ch1);printf("ch1 = %d\n", ch1);char ch2 = '\141';// \后⾯可以跟三位⼋进制 \是⼀个字符叫做转义字符// 由于char类型表⽰的范围有限最⼤'\377'printf("ch2 = %c\n", ch2);printf("ch2 = %d\n", ch2);char ch3 = 0X42;printf("ch3 = %c\n", ch3);printf("ch3 = %d\n", ch3);总结:可以给char类型变量赋字符、数值,但是⼋进制要'\141'数值最⼤不能超过char的表⽰范围// ASCII码 a:97 A:65 差值:32// b:98 B:66 插值:32// ……// 同⼀个字母,⼤⼩写之间,ASCII码值,相差32// 1 char类型可以⽤数值赋值// 2 可以运算// 字母⼤⼩写转换时,⼩写变⼤写减去32,⼤写变⼩写加上32char ch5 = 'C';ch5 = ch5 + ('b'-'B');printf("ch5 = %c\n", ch5);//c 此时ch5的值已经变成了'c'ch5 = ch5 + 1;printf("ch5 = %c\n", ch5);//dprintf("ch5 = %d\n", ch5);//100printf("ch5 = 0%o\n", ch5);//144printf("ch5 = 0X%X\n", ch5);//642 char与数字char ch1 = '1'; // 数字字符'1'printf("ch1 = %d\n", ch1); // 对应的ASCII码值 49printf("ch1 = %c\n", ch1); // 1char ch2 = 1; // 数字1printf("ch2 = %d\n", ch2); // 1printf("ch2 = %c\n", ch2); // ASCII码值为1的字符char ch3 = '1';ch3 = ch3 - 48; // 48:数字1的ASCII码值为49 (49 - 1)('1'-1)printf("ch3 = %d\n", ch3); // 1printf("ch3 = %c\n", ch3); // ASCII码值为1的字符注意:数字和数字字符不⼀样数字有很多数字字符只有 '0' '1' '2' '3' '4' '5' '6' '7' '8' '9'布尔型:bool(1) 取值:true (1) false(0)除了0 都是真// 布尔型数据// 整个数据类型只有两个值:true(真 1) false(假 0)// 除了0之外其他的值都为真// 定义⼀个布尔型变量:// 类型变量名;bool isLive; // 定义isLive = true; // 赋值printf("isLive:%d\n", isLive);isLive = false;printf("isLive:%d\n", isLive);isLive = 100;printf("isLive:%d\n", isLive);isLive = -199;printf("isLive:%d\n", isLive);isLive = 0;printf("isLive:%d\n", isLive);bool is = true; // 定义且初始化printf("is:%d\n", is);signed(有符号的) unsigned(⽆符号的) :起修饰作⽤表⽰数据有⽆符号⼀般signed可以省略⼋定义变量类型变量名;变量名:合法标识符1 由数字、字母、下划线组成2 开头不能是数字(⼀般不⽤下划线开头)3 不能是关键字,区分⼤⼩写(关键字:保留字:系统已经⽤了的名称)⼀般注意顾名思义了解使⽤常见命名⽅法驼峰写法匈⽛利命名法1 定义的同时初始化int number = 10;2 先定义之后再赋值int number ;number = 9 ;九通过字节数求数据类型的取值范围求字节数:sizeof() 括号⾥⾯可以写类型名称,也可以写变量名,也可以直接写值注意:在VS中整数默认是int类型,⼩数默认是double类型char类型取值范围:(256个)有符号的:-128 ~ 127⽆符号的:0 ~ 255short类型取值范围:(65536个)有符号的:-32768 ~ 32767⽆符号的:0 ~ 65535数据溢出:数据的数值⼤⼩超过了类型的表⽰范围太⼤:数据-范围⼀直减直到数据⼤⼩在范围内太⼩:数据+范围⼀直加直到数据⼤⼩在范围内选择数据类型:1 根据数据的类型选择类型2 在不溢出的情况下,选择内存⼩的类型(字节数少的内存⼩)。
第2章 Java编程基础
2.3.4 逻辑运算符和逻辑表达式
Java中常用的三种逻辑运算符是: &&(逻辑与,二元运算符) a&&b || (逻辑或,二元运算符) a||b ! (逻辑非,一元运算符) !a 注意短路运算 a&&b a||b
2.3.5 位运算符和位运算表达式
位(bit)是计算机中表示信息的最小单位,一般用0和1表示。一个字符在计算机中占一个字节, 一个字节由8个二进制组成。 • 位运算符对操作数按其二进制形式逐位进行运算,参加位运算的操作数必须为整数。相应的运
赋值运算符的结合性是从右至左的,因此程序中可以出现连续赋值的情况。例如,下面的赋值是合法的:
int i,j,k;
i=j=k=10;
//i,j,k都赋值为10
2.复合赋值运算符
表2-4是一些常用的复合赋值运算符。
2.3.2 赋值运算符和赋值表达式
2.复合赋值运算符
表2-4中的非直接赋值运算符在执行速度上快于一般的赋值方式,
第2章 Java编程基础
本章内容
2.1 标识符与数据类型 2.2 常量与变量 2.3 运算符和表达式 2.4 逻辑控制语句 2.5 Java数组和应用 2.6 Java方法
