Java基础语法笔记

注:该笔记适合有C++基础或者有复习需求的小伙伴哦.预习的话建议直接看视频.俺舅是链接(doge),邀请码bz1010

太过简单的知识点都被作者扔到回收站了,所以这些知识点都是精华呦(doge)~


一.快捷键与常见问题

Ctrl + F11 (运行当前程序)
  • 其它运行方法
    • 右键 → Run As → Java Application
    • 小虫子图像右边的图标
  • 运行错误
    • 运行错误会弹出这样的窗口
    • 点×就行了

在这里插入图片描述

Alt + / (代码补全)
  • 主函数
    • 在类中输入main + 代码补全,敲回车
  • 输出
    • 在主函数中输入syso + 代码补全, 敲回车 //用一次就难以割舍了
  • 任何存在的方法,关键字,声明过的变量
Ctrl + / (普通注释)
  • 其它注释
    • 多行注释 /* → 回车
    • 文档注释 /** → 回车 ( 比上面的好用,推荐)
Ctrl + Shift + O (自动导包及清除)
  • import …
    • 有的时候写完一个关键字就会报错
    • 鼠标移到关键字上,有import…的字样
    • 这时候用鼠标点击import即可,当然快捷键更快
    • 还可以清除没用的包
Ctrl + D (删除整行或多行)
  • 在代码补全的方法中
    • 一般有没用的注释,光标点击到该行 + 快捷键
    • 选中多行,同理
其它
  • 一般报错情况
    • 都可以将鼠标移到报错的地方
    • 然后点击系统给出的解决办法
    • 如下图,是一个异常处理
      在这里插入图片描述在这里插入图片描述

二.数据类型和运算符

1.命名规范:
  • 项目名

    驼峰原则,如gameSpace

  • 包名

    全部小写(包类似文件夹,要见名知意)

    一般是公司域名:com.xxx.game <-- www.xxx.com

  • 标识符
    • 必须以美元符号$、字母、下划线开头
    • 类名: 每个单词的首字母大写,如GoodMan
    • 方法和变量: 驼峰原则,如eatFood()
    • 常量:大写加下划线:MAX_VALUE
  注意:
  Java不是采用ASCll字符集,而是采用Unicode字符集,因此字母的含义还
  包括汉字,但不建议大家用汉字定义标识符
2.变量的本质:
  • 变量的本质

    是一片存储空间,位置确定,值不确定;通过变量名可以改变其中的值

  • 变量的声明

    变量只有在声明之后,才能分配相应的存储空间

  int i, j;(不建议这样声明)
3.常量:
  • final关键字
    • Java中常量用final修饰,如:
  final double PI = 3.14; //常量要记得大写哦,C和C++是用const,不要弄混了哦~
  final String ST_ = "Hello";
4.整型与浮点型:
  • 整型的范围

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZAFECr1A-1630602298315)(C:\Users\中国上将ZHY\Pictures\截屏\整型的表数范围.png)]

  • 溢出问题
  int a = 2147483647
  System.out.println(a+1); //结果为-2147483648,作者大大也闹不明白是这个数,懂的小伙伴可以联系作者哦~
  • 整型的表现形式
    1. 八进制,以0开头, 如:015

    2. 十六进制,以0x / 0X开头, 如:0x15

    3. 二进制以0b / 0B开头, 如:0b01110011

  • long与float的变量值在末尾需要加 L及F
  • 科学计数法
    • 十进制数: 3.14 31400
    • 科学计数法: 314e-2 314e2
  • float和double有误差
    • 不适合进行比较
    • 不适合用在金融领域
    • 以上情况需要用BigDeximal类(不懂看视频哦)
5.字符型和boolean型
  • 字符型变量
    • 字符型占两个字节,可允许有65536个字符
    • 由’\u0000’到’\uFFFF’之间的十六进制值来表示
  char c = '\u0061'; //这是字母a
  char c1 = '\n'; //这是转义字符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kboVeQhB-1630602298321)(C:\Users\中国上将ZHY\Pictures\截屏\转义字符.png)]

  • boolean型
    • boolean在内存中只占一位(不是一个字节)
    • 不可以用0和非0替代true和false
  注意:
  请不要这样写.if(flag==true),很容易出错写为if(flage=true).
  建议写成if(flag)或if(!flag).Less is More!
6.运算符
  • 二元运算符
    • 整数运算
    1. 两个操作数有一个为long结果也为long
    2. 没有long时,结果为int. 即使操作数都为short,byte
   byte a = 127; //这是byte类型的最大数字
   short b = 32767; //这是short类型的最大数字
   System.out.println(a + b); //结果为整型:32894
  • 浮点运算
  1. 两个操作数有一个是double,结果就为double
  2. 都为float,才为float
  • 取模运算

    • 其操作数可以为浮点数,一般为整数;结果是"余数",余数符号和左边操作数相同
    • 如: 7%3=1 -7%3=-1 7%-3=1

在这里插入图片描述

  • 关系运算符
    • == != > < >= <=
 注意:
 ==、!=是所有(引用和基本)数据类型都可以使用
 >、>=、<、<= 只针对数值类型(byte/short/int/long.float/double以及char
  • 逻辑运算符
    • 理解短路
>boolean a = 1>2 && 2>1 //因为1>2为false,所以结果为false,不会判断2>1
boolean a = 1>2 & 2>1 //无论第一个是否为false,都要判断下一个
总结:短路运算更快,一般都会采用短路

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PaImdunR-1630602298332)(C:\Users\中国上将ZHY\Pictures\截屏\位运算符.png)]

  • 记住下面的就行了
int a = 12*2;相当于int a = 12<<1;左移移位==乘二
int b = 12/2/2;相当于int b = 12>>2;右移两位==除4

注意:
1.&和|既是逻辑运算符,也是委员算符,怎么区分呢
当两侧的操作数都是boolean类型时,就是逻辑运算符,两侧都是整型时,   为位运算符
2.Java中的"^"是"位的异或",不是乘方!
  • 字符串链接符 ‘+’
    • 有一侧为字符串,系统则会将它们连接起来,成为一个新的字符串
  • 条件运算符(三目)
    • x > 0 ? y : z 比if-else(条件语句)灵活
  • 简单的输入和输出(重点)
输入:
Scanner sc = new Scanner(System.in); //只需声明一次,很好用
int a = sc.nextInt(); //接收一个整型变量
double b = sc.nextDouble(); //接收一个浮点型变量
String c = sc.next(); //接收一个字符串
System.out.println(a); //输出完自动换行
System.out.print(b);  //少ln输出完不会自动换行

三.控制语句

1.循环和条件语句
  • if while for其中的判断条件必须为布尔表达式
如:
int a = 10;
if(a){System.out.println(a);} //这是错误的,非0的a与true不等价,不懂的问作者
boolean flag = true;
if(flag){System.out.println(a);} //这是正确的

多选择结构的用法:
		int age = (int)(100 * Math.random());
		System.out.println("年龄是"+age+"属于:");
		if(age<15){
			System.out.println("儿童,喜欢玩");
		}else if(age<25){
			System.out.println("年轻人,要发展兴趣");
		}else if(age<45){
			System.out.println("中年,要工作");
		}else if(age<65){
			System.out.println("中老年,要补钙");
		}else if(age<85){
			System.out.println("老年,要多运动");
		}else{
			System.out.println("老寿星,古来稀");
		}
	}

2.方法
  • 方法
    • 建议看上面的视频,需要记住记住:通过对象调用普通方法.
  • 方法重载条件
    1. 方法名相同

    2. 形参的类型、个数、形参顺序有一个不同就行

注意:只有形参名称或返回值不同,不构成方法的重载
int fun(string str){}与void fun(string s){} //有两处不同,请
找出来,嘿嘿
  • return和递归
    • return的作用

      • 终止方法的运行
      • 返回指定的数据
    • 递归
递归包括两个部分
递归头:递归的结束条件,没有它将陷入死循环
递归体:递归执行的条件

//只有非代码模式,才能对字体的格式进行修改哦

static int count = 0;
static void a(){
count++;
if(count<10){
a();
}
//这是方法体,用来执行递归

else{
return; //可以没有返回值,只做终止方法的语句,不与void冲突
}
//这是方法头,用来结束递归
}


在这里插入图片描述在这里插入图片描述

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值