资讯动态

《初学Java语言》第一讲:与C语言相同的不同之处

发布时间:2026/8/13 23:36:43 来源:尧图企业网站定制
Java前言一、运行第一个JAVA程序1.Java程序的结构1.1 源文件扩展名为*.java1.2 类1.3方法Java的方法等同于C语言的函数1.4 类名和方法的命名规则二、变量与数据类型1.创建变量1.1语法形式122.整型变量2.1 int类型的大小2.2 int类型变量的取值范围1再给变量设置初始值时值不能超过int的表示范围2int包装类型为Integer3.长整型变量3.1 long类型的大小3.2 long类型变量的取值范围1再给变量设置初始值时值不能超过long的表示范围2long包装类型为Long4.字节型变量与C语言不同4.1 byte类型的大小4.2 byte类型变量的取值范围1再给变量设置初始值时值不能超过 byte的表示范围2 byte包装类型为Byte5.浮点型变量4.1 浮点类型的大小1double的包装类型为Double2float的包装类型为Float3一般代码用浮点数优先考虑double6.布尔型变量6.1 boolean类型的大小7.字符型变量7.1 char类型的大小7.2 byte类型变量的取值范围1再给变量设置初始值时值不能超过 char的表示范围2 char包装类型为Character8.类型转换8.1 自动类型转换隐式8.2 强制类型转换1不发生强转时系统会报错2强转注意事项三、字符串类型不属于数据类型1.字符串类型2. 字符串的拼接1在需要空格的字符串打印空格2利用加号,额外打印一个空格3.字符与整形互相转换3.1 String转int3.2 int转String1利用 String 和 加号2借助String.valueOf()四、运算符1.算术运算符 、-、*、/、%1.1 /、%1做除法和取模时右操作数不能为02Java的 % 可以对double类型取模而C语言的 % 只能对整数取模2.增量运算符 、-、*、/、%3.自增/自减运算符 、--4.关系运算符 、!、、、、5.逻辑运算符 、||、!5.1 逻辑与1语法规则2表达式的结果5.2 ||逻辑或1语法规则2表达式的结果5.3 !逻辑非1语法规则2表达式的结果5.4 短路求值1但 和 | 也会有可能表示逻辑运算6.位运算符 、|、~、^7.移位运算符 、、7.1 Java的右移位运算符遵循的是算术右移法则与C语言的两种右移位操作符的运算则来说7.2 无符号右移8.条件运算符8.1 语法形式9.运算符的优先级前言在一开始学习一个新的算法语言我们难免可能会在刚开始的时候打退堂鼓担心自己学不好但如果你学的是Java大概率是不会有这样的顾虑的因为C语言像是Java的母语而Java就像是这门母语的现代“方言”如果你没学过C语言也不要担心该篇Java文章中写到关于C语言的在本人的《初学C语言》的作品中都可以找到出处。该篇Java文章涉及到的C语言主要集中在本人《初学C语言》作品的从0到1的第一步、第二讲和所有的有关操作符作品里。一、运行第一个JAVA程序publicclassTest{publicstaticvoidmain(String[]args){System.out.println(hello java);}}1.Java程序的结构1.1 源文件扩展名为*.java源文件带有类名的定义注在一个源文件中只有一个public修饰的类与C语言中一个源文件只有一个main是一样的而且源文件名字必须与public修饰的类名相同1.2 类类用来表示程序的一个组件小程序或许只会有一个类类中带有一个或多个方法。注类名与文件名不相同1.3方法Java的方法等同于C语言的函数方法必须在类的内部声明在方法的花括号“{}”中编写方法应该执行的语句1.4 类名和方法的命名规则类名和方法名也可以称为标识符标识符包含字母、数字、下划线\以及$符号标识符不能以数字开头也不能是关键字且严格区分大小写类名每个单词的首字母大写戏称大驼峰方法名首字母小写后面每个单词的首字母大写戏称小驼峰变量名与方法名的命名规则一样建议起变量名时要使变量名起的有意义二、变量与数据类型Java的数据类型与C语言的数据类型大部分定义与用法相同但Java也有它数据类型特殊的地方同时Java的变量的创建与C语言有很大的不同1.创建变量Java创建变量时必须给变量赋予一个初始值1.1语法形式1数据类型 变量名 初始值;2数据类型 变量名; 变量名 初始值; //在定义时没给初始值但在使用前必须设置初始值2.整型变量inta10;System.out.println(a);2.1 int类型的大小不论是在16位系统还是32位系统int都占用4个字节2.2 int类型变量的取值范围publicclassTest{publicstaticvoidmain(String[]args){inta10;System.out.println(Integer.MAX_VALUE);System.out.println(Integer.MIN_VALUE);}}1再给变量设置初始值时值不能超过int的表示范围2int包装类型为Integer3.长整型变量在给long类型变量初始值后加L来区分int和long类型longa10L;System.out.println(a);3.1 long类型的大小long类型不论在哪个系统下都占8个字节3.2 long类型变量的取值范围publicclassTest{publicstaticvoidmain(String[]args){longa10L;System.out.println(Long.MAX_VALUE);System.out.println(Long.MIN_VALUE);}}1再给变量设置初始值时值不能超过long的表示范围2long包装类型为Long4.字节型变量与C语言不同bytea10;System.out.println(a);4.1 byte类型的大小byte类型不论在哪个系统下都占1个字节4.2 byte类型变量的取值范围publicclassTest{publicstaticvoidmain(String[]args){bytea10;System.out.println(Byte.MAX_VALUE);System.out.println(Byte.MIN_VALUE);}}1再给变量设置初始值时值不能超过 byte的表示范围2 byte包装类型为Byte5.浮点型变量doublea10.0;floatb10.0f;System.out.println(a);System.out.println(b);4.1 浮点类型的大小double类型不论在哪个系统下都占8个字节float类型不论在哪个系统下都占4个字节1double的包装类型为Double2float的包装类型为Float3一般代码用浮点数优先考虑double6.布尔型变量布尔类型常用来表示真假它的取值只有两种true 或 false。注java的boolean类型和int不能相互转换不存在1表示true0表示false这样的用法booleanatrue;System.out.println(a);6.1 boolean类型的大小在Java中并没明确规定boolean占几个字节boolean的包装类型为Boolean7.字符型变量publicclassTest{publicstaticvoidmain(String[]args){charch1a;System.out.println(ch1);}}7.1 char类型的大小在Java中char占2个字节的大小如‘帅’一个汉字占据两个字节publicclassTest{publicstaticvoidmain(String[]args){charch2帅;System.out.println(ch2);}}7.2 byte类型变量的取值范围publicclassTest{publicstaticvoidmain(String[]args){System.out.println(Character.MAX_RADIX);System.out.println(Character.MIN_RADIX);}}1再给变量设置初始值时值不能超过 char的表示范围2 char包装类型为Character8.类型转换java作为一个强类型编程语言当不同类型之间的变量相互赋值的时候会有严格的校验。java中类型转换分为自动类型转换 和 强制类型转换8.1 自动类型转换隐式代码不需要经过任何处理在代码编译时编译器会自动进行处理。特点数据范围小的转为数据范围大的时候会自动进行publicclassTest{publicstaticvoidmain(String[]args){inta10;longb0L;ba;System.out.println(b);}}8.2 强制类型转换当进行操作时代码需要经过一定的格式处理不能自动完成特点数据范围大的到数据范围小的1不发生强转时系统会报错2强转注意事项publicclassTest{publicstaticvoidmain(String[]args){inta10;longb20L;a(int)b;System.out.println(a);}}发生强制类型转换时可能会造成数据的精度丢失强制类型转换不一定能成功不相干的类型不能互相转换三、字符串类型不属于数据类型1.字符串类型在java中字符串类型属于引用类型并且使用String类定义字符串类型publicclassTest{publicstaticvoidmain(String[]args){Strings1hello;Strings2java;System.out.println(s1);System.out.println(s2);}2. 字符串的拼接在C语言中输入一个字符串时scanf遇到空白字符就会停止以及C语言中字符串不能想加减但在java则不同用拼接的方式遇到空格也能打印出来拼接常用的有两种方式1在需要空格的字符串打印空格publicclassTest{publicstaticvoidmain(String[]args){Strings1hello;Strings2 java;System.out.println(s1);System.out.println(s2);System.out.println(s1s2);}2利用加号,额外打印一个空格publicclassTest{publicstaticvoidmain(String[]args){Strings1hello;Strings2java;System.out.println(s1);System.out.println(s2);System.out.println(s1 s2);}3.字符与整形互相转换3.1 String转int需要借助Integer.parseInt()publicclassTest{publicstaticvoidmain(String[]args){Stringstr100;intnumInteger.parseInt(str);System.out.println(num);}}3.2 int转String1利用 String 和 加号publicclassTest{publicstaticvoidmain(String[]args){intnum100;Stringstrnum;System.out.println(str);}}2借助String.valueOf()publicclassTest{publicstaticvoidmain(String[]args){intnum100;StringstrString.valueOf(num);System.out.println(str);}}四、运算符1.算术运算符 、-、*、/、%Java的 、-、*与C语言的遵循一样的算数法则1.1 /、%1做除法和取模时右操作数不能为02Java的 % 可以对double类型取模而C语言的 % 只能对整数取模publicclassTest{publicstaticvoidmain(String[]args){System.out.println(11.5%2.0);}}2.增量运算符 、-、*、/、%Java的所有增量运算符与C语言的用法都相同但是涉及到类型转换Java有一个特殊法则增量运算符在计算的时候可以不进行强制类型转换3.自增/自减运算符 、–Java的自增与自减与C语言运算法则一样4.关系运算符 、!、、、、福安息运算符的计算结果是boolean类型。publicclassTest{publicstaticvoidmain(String[]args){inta10;intb20;System.out.println(ab);System.out.println(a!b);System.out.println(ab);System.out.println(ab);System.out.println(ab);System.out.println(ab);}}5.逻辑运算符 、||、!逻辑运算符的结果都是boolean类型5.1 逻辑与1语法规则表达式1 表达式2左右表达式必须是boolean类型的结果2表达式的结果两个表达式都为真结果才是真只要有一个假结果就为假表达式1表达式2结果真真真真假假假真假假假假publicclassTest{publicstaticvoidmain(String[]args){inta10;intb20;System.out.println(a10b20);}}5.2 ||逻辑或1语法规则表达式1 || 表达式2左右表达式必须是boolean类型的结果2表达式的结果两个表达式只要有一个真结果就为真表达式1表达式2结果真真真真假真假真真假假假publicclassTest{publicstaticvoidmain(String[]args){inta10;intb20;System.out.println(a10||b30);}}5.3 !逻辑非1语法规则!表达式2表达式的结果真变假假变真表达式结果真假假真publicclassTest{publicstaticvoidmain(String[]args){inta10;intb20;System.out.println(!(a10));}}5.4 短路求值 和 || 遵循C语言的短路求值的规则1但 和 | 也会有可能表示逻辑运算当 和 | 表达式结果是boolean类型时也表示逻辑运算但它们不支持短路求值6.位运算符 、|、~、^Java的 、|、~、^ 这4个位运算符与C语言的位运算计算法则是一模一样的7.移位运算符 、、Java的、 这2个位运算符与C语言的移位运算计算法则也是一模一样的但Java有一个特殊的移位运算符7.1 Java的右移位运算符遵循的是算术右移法则与C语言的两种右移位操作符的运算则来说7.2 无符号右移运算法则最右侧位不要了最左侧位补08.条件运算符8.1 语法形式表达式1 ? 表达式2 : 表达式3当表达式1 的值为true 时,整个表达式的值为表达式2 的值;当表达式1 的值为false 时,整个表达式的值为表达式3 的值.publicclassTest{publicstaticvoidmain(String[]args){inta10;intb20;intcab?1:2.0;System.out.println(c);}}9.运算符的优先级与C语言的优先级法则也是一模一样的当然如果是记那些法则不免会感觉时间都算浪费了但是如果记住了也当然是很不错的能够扩展了自己的知识面。最简单的方法是遇到优先级稍微有点歧义的我们可以直接加括号 “”因为括号的优先级是最高的

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价