Java的语法结构跟C语言非常相似,也就少许不同,感兴趣可以看我之前总结的C语言学习笔记,涵盖的还是比较全面的,之前学习过C语言的小伙伴再看这篇会非常好理解。这篇文章会介绍java基础语法以及和C语言的异同点
目录
一.输入输出
C语言的输入输出包含了scanf() 和 printf();
输出过程:输出设备——>输出流——>scanf——>变量
输出过程:变量——>printf——>输出流——>输出设备
Java语言的输入、输出也是通过流实现的,使用System.out表示标准输出设备,使用System.in表示标准输入设备。
(System.out代表标准输出流,通常对应着控制台输出。System.in代表着标准输入流,这个输入流默认连接到键盘等标准输入设备)
System.out.print("hello"); 这个普通输出
System.out.println("hello");这个换行输出
System.out.printf("%s","hello");这个跟C语言一样需要占位符。
Java中的输入需要使用Scanner的对象读取来自System.in的输入。(因为java是面向对象的)
Scanner类在包java.util中使用时需要在源文件上导入import java.util.Scanner。
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
//获取用户输入的内容:System.in
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数");
//读取一个整数
int num = scanner.nextInt();
int i=0;
for(i=0;i<num;i++){
System.out.println(i);
}
}
}
- Scanner 是一个用于扫描输入文本的类。通过创建一个 Scanner 对象,可以从各种输入源读取数据。
- new Scanner(System.in) : new是一个关键字用于创建一个新的 Scanner 对象,并且将标准输入流(通常是键盘输入)作为参数传递给这个对象的构造函数。
- 最终,通过这条语句创建了一个名为 scanner 的 Scanner 对象,这个对象可以用来从标准输入设备(比如键盘)读取用户输入的数据,包括整数、浮点数、字符串等不同类型的数据。例如,可以使用 scanner.nextInt() 来读取一个整数, scanner.next() 来读取一个字符串等。
-double nextDouble() //获取用户输入的一个double类型的值
二.标识符
标识符是用来给类、对象、方法、变量、接口和自定义的数据类型命名的。
比如
class Teacher{};
int sum;
String name; //String是字符串类型
Java标识符由数字,字母和下划线(_),美元符号($)组成。只能以字母或“_”或“$”开头(少用美元符号);标识符不能是Java关键字或保留字
Java语言中的命名约定:
–类和接口名。每个单词的首字母大写,含有大小写。
例如,MyClass,HelloWorld,Time等。
-方法名。首字母小写,其余单词的首字母大写,含大小写。尽量少用下划线。
例如,public int addSomething(int a,intb){
return a+b;
}
addSomething就是方法名。
–常量名。基本数据类型的常量名使用全部大写字母,单词与单词之间用下划线分隔。对象常量可以大小写混写。
例如,SIZE_NAME。
–变量名。可大小写混写,首字符小写,不用下划线,少用美元符号。给变量命名时尽量做到见名知义。
三.关键字
abstract | do | true | private | throw | implements | class | try |
boolean | throws | double | import | void | protected | float | finally |
break | else | public | transient | char | instanceof | new | for |
byte | int | return | extends | super | interface | switch | null |
case | false | short | continue | native | synchronized | while | if |
catch | final | long | package | static | volatile | default | this |
四.数据类型
五.变量和常量
变量是程序的基本组成单位
概念:
变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的号码,通过号码我们可以找到房间,而通过变量名可以访问到变量值
1.声明变量
2.赋值
3.使用输出
常量是在程序运行过程中其值始终保持不变的量
java使用关键字final来定义常量。
final 数据类型 常量名称 = 值 (常量名称最好全大写)
六.运算符
算数运算符 | + - * / % |
自增运算符、自减运算符 | ++ -- |
关系运算符 | > >= < <= == != |
逻辑运算符 | && || ! |
三元运算符 | ?: |
赋值运算符 | = += -= *= /= %= |
位运算符 | & | ^ |
字符串连接运算符 | + |
instanceof比较 | instanceof检查对象是否是某种类型 |
跟C语言最大不同是+号运算,java中+号可以连接字符串
public void cat() {
String str1 = "hello";
String str2 = "kitty";
String str3 = str1 + str2; // hellokitty;
}
在Java中,借鉴了C和C++的实现方式,也使用了自增、自减运算符:n++将变量n的当前值加1;n--将n的值减1。
运算符优先级
运算符 | 结合性 |
!~ ++ -- + - (一元运算) | 从右向左 |
* / % | 从左向右 |
+ - | 从左向右 |
<< >> | 从左向右 |
< <= > >= instanceof | 从左向右 |
== != | 从左向右 |
& | 从左向右 |
^ | 从左向右 |
| | 从左向右 |
&& | 从左向右 |
|| | 从左向右 |
? : | 从右向左 |
= += -= *= /= %= | 从右向左 |
类型转换:强制转换
double f = 6.0;
int n = (int) f;
隐式转换
int n = 8;
double f = n; (可以直接扩大)
数据类型按容量大小排序
七.流程
顺序流程
分支流程
if……else
switch……case
循环流程
for
while
do……while
(这些跟C语言语法一模一样)(可以看下我的C语言的笔记)、
不同:增强型for
java提供了一个更为简洁的循环语句,用于数组或者集合的遍历
基本语法:
for(类型 变量名:数组或集合){
循环体;
}
例如:
public void text() {
String[] array = new String[]{"1","2","3"}; // 创建一个数组
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
// 增强型for
for (String str : array) {
System.out.println(str);
}
}