初学java(其二:基础语法)

本文介绍了从C语言基础出发学习Java编程的关键概念,包括标识符、关键字、常量和变量的使用,内存的四区划分,数据类型的详细分类,以及输入输出、数组、运算符和语句的基础知识。强调了Java中变量声明的规则,数据类型的转换,以及方法的调用。此外,还讨论了Java中特有的数组初始化和for-each循环的使用。
摘要由CSDN通过智能技术生成

拥有一点C基础的小白从零开始学java。

标识符

Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符。

◆凡是自己可以起名字的地方都叫标识符,都遵守标识符的规则。
Java标识符命名规则:

◆标识符由字母、下划线“”、美元符“$” 或数字组成。
◆标识符应以字母、下划线、美元符开头。
◆Java 标识符大小写敏感,长度无限制。

关键字及常量变量

  • 关键字:有特定含义和专门用途的字符。
  • 常量:Java的常量值用字符串来表示,区分为不同的数据类型。
    字符串常量“”阿巴阿巴阿巴“”
    字符常量: 123、‘a’
  • 变量:程序最基本存储单元,包括变量名、变量类型和作用域。
    Java和c一样使用变量需要声明。
    变量按声明位置划分:
    局部变量:方法或语句块内部定义的变量。
    成员变量:方法外部、类的内部定义的变量。
    与C++不同,Java称成员变量。
    注意:类外面(与类对应的大括号外面)不能有变量的声明。
    按所属的数据类型划分:
    基本数据类型变量
    引用数据类型变量

内存四区

程序执行的时候将内存分为四个区:

  • 代码区(code segment)
  • 数据区(date segment)
  • 栈区(stack)
  • 堆区(heap)

数据类型

一、数据类型的划分

数据类型
基本数据类型
引用数据类型
数值型
整数类型byte,short,int,long
浮点类型float,double
字符型/char
布尔型/boolean
类Class
接口interface
数组

逻辑型boolean

boolean类型适用于逻辑运算 ,一般用于程序流程控制。
boolean类型数据只允许取值true或false//不同于C/C++可用0和1
例:

boolean flag;
flag=true;
if(flag){
	biahblah……;
}

字符型char

  • char 型数据用来表示通常意义上“字符”。
  • 字符常量为用单引号括起来的单个字符,例如:char eChar = ‘a’; char cChar ='中";
  • Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示,例如:

    char c1 = '\u0061";
    注:Unicode是全球语言统一编码
  • Java语言中还允许使用转义字符’\n’来将其后的字符转变为其它的含义。

整数类型

byte(1字节,范围 -27~27-1)
short(2字节)
int(4字节)
long(8字节)
注:1字节8位28,但Java存储符号位,用去一位。
Java中整型常量默认为int型,声明long型常量后可以加‘l’或‘L’
long m=12345678978L

浮点类型

float(8位有效数字)
double(16位有效数字)

浮点类型表示形式:

  • 十进制表示:3.14
  • 科学计数法:3.14e2
    Java浮点型常量默认为 double型,如要声明一个常量为 float型,则需在数字后面加‘l’或‘L’。
    由于精度问题浮点数有一定误差

数据类型的转换

  • boolean类型不可以转换为其他的数据类型。
  • 整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则:容量小的类型自动转换为容量大的数据类型;数据类型按容量大小排序为:
    • byte,short,char->int->long->float->double
    • byte,short,char之间不会互相转换,他们三者在计算时首先回转换为int类型。
  • 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出
  • 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。
  • 实数常量(如:1.2)默认为double
    整数常量(如:123)默认为int

输入输出基本型数据

输入基本型数据
使用Scanner类创建对象

Scanner reader = new Scanner(System.in);

然后reader对象调用下列方法,读取用户命令行输入基本类型数据

next.Boolean(),next.Double(),next,Int(),next.Short(),next.Float(),next.Byte(),next.Long().

每输入一个数据需要按回车确认。

输出基本型数据
System.out,println()和System.out,print()输出串值和表达式的值,前者输出换行,后者不换行。允许使用并置符号+将变量、表达式或一个常数值与一个字符串并置一起输出。

  • 使用时不能有回车

参考C语言可使用System.out.printf(“格式控制部分”,表达式,表达式……)

数组

一、声明数组
包括声明数据类型和变量名(数组名)
数组声明:
数组元素类型 数组名[ ]
数组元素类型 [ ] 数组名
int [ ] a, b[ ]
其中a数组是一维数组,b是二维数组
与C/C++不同,Java不允许声明数组[ ]存在数字,如:int a[12]
/int [12] a是错误的

二、为数组分配元素
声明数组仅仅是为了给出变量名字和元素的数据类型,想要真正的使用数组还要必须创建数组,即给数组分配元素。

数组名 = new 数组元素的类型 [ 数组元素个数 ]

数组名是数组的起始地址(数组的引用),可通过数组变量名字+索引(下标)使用数组元素

声明数组和创建数组可以一起完成:

float boy[ ] = new float [ 4 ]

与C语言不同的是,Java允许使用int型变量的值制定数组元素个数
如:

int size = 30
double number[ ] = new double[ size ];

三、length的使用和数组元素初始化

数组变量名.length = 数组元素的个数

声明数组时可以使用:
数组元素类型 数组变量名称 [ ] = {数组元素个数及值}

int boy[ ] = {1,2.3.4.5.6}
等同于
int boy[ ] = new int[6];
boy[0]=1;boy[1]=2;boy[2]=3;boy[3]=4;boy[4]=5;boy[5]=6;

运算符

运算符优先级:
在这里插入图片描述

语句概述

1、方法调用语句

  • 如:System.out.println(“hello”);

2、表达式语句

  • 如 x = 1;

3、复合语句

  • 用{ }将一些语句括起来形成复合语句

4、空语句

  • 一个分号也可以构成一个语句

5、控制语句

  • 控制语句分为条件语句、分支语句和循环语句

控制语句的用法和C/C++都类似

for语句与数组
JDK1.5对for语句功能进行扩充,具体如下:

for(声明循环变量:数组名字) {
……
}

其中声明循环变量必须与数组类型相同。这种形式的for语句类似自然语言的“for each”:对于循环变量依次取数组中的每一个元素的值。

6、package语句和import语句

方法

Java中的方法类似于其他语言的函数,是一段完成特定功能的代码片段,声明格式:

>[修饰符1  修饰符2  ……] 返回值类型 方法名(形式参数列表) {
>	 Java语句;....
>}
>
  • 形式参数:在方法被调用时用于接收外接输入的数据
  • 实参:调用方法时实际传递给方法的数据
  • 返回值:方法在执行完毕后返还给调用它的环境的数据
  • 返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。

java中使用下述形式调用方法:对象名.方法名(实参列表)。

实参的数目、数据类型和次序必须和所调用的方法声明的形参列表相匹配。

return语句终止方法的运行并指定要返回的数据。

Java中进行函数调用传递参数时,遵循值传递的原则
基本类型传递时是传递的数据本身。引用类型传递的是对对象的引用,不是对象本身。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值