java基础总结回顾-第二部分

java基础总结回顾-第二部分

1.什么是变量

所谓变量,就是可以变化的量。 Java是一种强类型语言,每个变量都必须声明其类型。 Java变量是程序中最基本的存储单元,其要素包括:变量名,变量类型和作用域。”
变量可以理解为一个,保存数据的盒子

1.1为什么使用变量

  1. 在系统编译阶段,更具变量类型,给变量分配存储空间,用于存放数据,即存值。
  2. 在系统使用数据时,便于从变量的存储空间中获取数据,即取值。
  3. 确定变量的使用范围,即作用域。
    用来保存,一些会根据时间推移,数据值会产生变化的东西,因为他发生变化,所以我们用一个变量来标识他,通俗的理解,变量,就是变化的一个量值,名称不变,值在变

1.2数据类型

  1. 整数类型
  • byte:字节占用 1字节 8位,用来表达最小的数据单位,储存数据长度为 正负 127;
  • short:字节占用 2字节 16位,储存数值长度为 -32768-32767
  • int:字节占用 4字节 32位,最为常用的整数类型,储存长度为,-231-1~231 (21 亿)
  • long:字节占用 8字节 64位,当到达int数值极限时使用,储存长度为 看图片:
  1. 浮点数类型:
  • float:单精度浮点型 32位 取值范围 3.4e-38~3.4e-38
  • double:双精度浮点型 64位 ,java中默认的浮点类型 取值范围 1.7e-308~1.7e-308
  1. 字符类型:
  • char:16位 ,java字符使用Unicode编码;
  1. 布尔类型
  • boolean : true 真 和 false 假
  1. 引用数据类型:
  • 类 class
  • 接口 interface
  • 数组

2.声明变量

// 作用:
        // 声明一个块级作用域的本地变量
        // 可以设置初始值
 
        // 语法:
        // 声明变量
        let x = 1
        let y = 2
 
        console.log(y); // 2
        // 重新赋值
        x = "今天学习的内容是声明变量哦~"
        console.log(x); //今天学习的内容是声明变量哦~
        // 1、注意点:不允许重复声明
        // let 不允许在相同作用域内,重复声明同一个变量
        // function fun() {
        //     let a = 10;
        //     var b = 10;
        // }
        // function fun() {
        //     let a = 10;
        //     let a = 1;
 
        // }    
        // 2、块级作用域
        // 它的用法类似于var,但是所声明的变量,只能在let命令所在的代码块内有效。
        // 在下面代码块之中,分别用let和var声明了两个变量。
        {
            let a = 15;
            var b = 20;
            console.log(a); // 15
            console.log(b); // 20
        }
        console.log(a);
        console.log(b);
 
        
        // console.log(a); // undefined
        // console.log(b); // 1
        // 结果let声明的变量报错,var声明的变量返回了正确的值
        // 这表面,let声明的变量只在它所在的代码块有效。
        // console.log(a); // a is not defined
        // console.log(b); // 1
        // 3、变量不会提升  
        // var命令会发生“变量提升”现象,即变量可以在声明之前使用,值为underfined。
        // 这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用
        // 为了纠正这种现象,let命令改变了语法行为,它声明的变量一定要在声明后使用,否则报错
        // var的情况console.log(foo);
        var foo =2; //undefined
        // let的情况
        console.log(bar); // Cannot access "bar’ before initialization(无法在初始化之前访问变l量)
        let bar = 2;
        // 【总结】
        // 1.不能重复声明
        // 2.有块级作用域
        // 3.不会变量提升

3.命名规范

  1. 包命名
    包名命名,统一使用小写字母。
    包名名的路径建议符合所有开发的系统模块的定义,以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现。
    由于Java面向对象的特征,在最新的Java编程规范中,要求开发人员在自己定义的包名前加上唯一的前缀,由于互联网上的域名称是不会重复的,所以多数开发人员采用自己公司的名称.项目名.模块名.*,在互联网上的域名称作为程序包的唯一前缀。例如:com.mooc.base.类。
  2. 类命名
    类名命名,推荐使用大驼峰命名形式,即单词的首字母大写。如果类名名称由多个单词组成,则每个单词的首字母均应为大写,如这个所写词中包含单词缩写,则这个缩写词的每个字母均应答谢。
  3. 方法名
    方法命名采用小驼峰的形式,首字母小写。如果是由多个单词组成的话,第一个单词的首字母小写,其余的单词首字母大写。
  4. 变量名
    推荐的命名规范有以下3种:
    (1)Camel标记法:首字母是小写的,接下来的单词都以大写字母开头。
    (2)Pascal标记法:首字母是大写的,接下来的单词都以大写字母开头。
    (3)匈牙利标记法:在以Pascal标记法的变量前附加小写序列说明该变量的烈性。它使用1-3字符前缀表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其他字母小写。
  5. 常量名
    常量名采用全部大写的形式。
  6. 命名原则
    所有命名规则遵循以下规则
    a. 名称只能由字母、数字、下划线、$符号等组成,,但不能以数字开头。
    d.名称不能使用JAVA中的关键字,比如 char、 double、if、for、class。
    c.不允许使用中文及拼音命名。
  7. 项目命名规范
    最好用英文,所有单词全部用小写。如testjavaproject、studentmanagement等,
    当然也也可以用中文,如“学生管理系统”等
    9.POJO类
    具有含义的名字,如果有多个单词,每个单词头字母大写。一般和数据库的表照应。例如:user_info表 则POJO类为UserInfo.

4.变量常见错误

1.1 问题

在我们使用变量的过程中,会遇到一些问题,在此将这些问题进行汇总,在今后使用的过程中,避免出错。即使出现错误也可以很快的找到问题所在。

1.2 方案

变量在使用的过程中,常见问题总结为如下几点:
1)使用未经声明的变量。
2)使用不符合Java标识符命名规则的变量。
3)使用未经初始化的变量。
4)变量的赋值与变量的类型不匹配

1.3 步骤>实现此案例需要按照如下步骤进行。

步骤一:使用未经声明的变量
Java语言语法规定,变量使用之前必须声明,否则会有编译错误。大多数时候我们都记得这个规范,但是还是会出现变量未声明就使用的情况,请看如下代码:

  1. public static void main(String[] args){

  2. a =1;// 编译错误,变量没有声明

  3. int score =0;

  4. scord =100;// 编译错误

  5. System.out.println(score);

  6. }

5.常量

常量:在执行过程中,其值不发生改变的量。
常量分为:字面值常量,自定义常量。
字面值常量:

  • 字符串常量(用双引号括起来的内容)“hello”,
  • B.整数常量(所有整数)1,23,
  • 小数常量(所有小数)11.3,34.45,
  • D.字符常量(用单引号括起来的内容)‘a’,‘A’,‘0’,
  • E.布尔常量(true,false)
  • F.空常量 (null)
    java中针对整数常量提供了四种表现形式:
    A. 二进制(由0,1组成。以0b开头)
    B. 八进制(由0,1,…7组成。以0开头。)
    C. 十进制(由0,1,…9组成。整数默认是十进制。)
    D. 十六进制(由0,1,…9,a,b,c,d,e,f(大小写均可)组成。以0x开头。)

6.运算符

  1. 算术运算符: + - / * % ++ –
  2. 赋值运算符: =
  3. 比较运算符: < > <= >= == !=
  4. 逻辑运算符: &&(与) ||(或) !(非) &(与) | (或)
  5. 三目运算符:?
  6. 位运算: &(与) |(或) ^(异或)

1.算术运算符

  1. +:数值类型 + 加法
  2. -: 数值类型 - 减法
  3. *: 数值类型 * 乘法
  4. /:整数/整数 整除(结果取整)
  5. %:取余 5%2=1
  6. ++: 加1 语法 变量++ ++变量
    前++: ++变量 步骤:先变量加1, 后赋值, 整个表达式的值=变量的值
    后++:变量++ 先赋值: 变量的值赋给表达式 后加1: 变量加1
    7.–:减1
    前–:–变量: 先减1, 再赋值
    后–:变量–: 先赋值,再减1

2.赋值运算符

  1. =: 语法: 变量 = 值; 变量 = 变量1;
    不能写: 值 = 变量; 错误, 把赋值符号右 边赋值给左边
  2. +=: a += b; a = a+b;
  3. -=: a -= b; a= a-b;
  4. =: a * = b; a = ab;
  5. /=: a /= b; a = a/b;
  6. %=: a%=b; a= a%b;

3.比较运算符

比较运算符结果: boolean类型,返回值true/false
常见的使用场景: 条件语句, 循环语句
== 等于, = 赋值符号
!= 不等于
:>大于
< 小于
= 大于等于
<= 小于等于

4.逻辑运算符

&& 短路与, 如果第一个表达式的结果为false, && 后面的表达式都不执行(类似电路的短路)
|| 短路或: 如果第一个表达式的结果为true, || 后面的表达式都不执行(类似电路的短路)
! 非
& 与 没有短路
| 或 没有短路
结果: boolean类型
使用的场景: 条件, 循环中, 连接多个比较表达式

6.位运算

&: 按位与 : 1:true 0:false 只要位上有一个为0, 结果:0 位上都为1, 结果: 1
|: 按位或: 只要位上有一个为1: 结果: 1 位上都是0: 结果: 0
!: 按位非:1 取反-> 0 0-取反->1
^: 异或: 一个数异或某个数两次, 得到自己(简单加密) 两个值相同,异或为0;两个值不同,异或为1;
移位操作: 拓展
:>>右移
<<:左移
最后来看看java中进制的表示有哪些: 十进制, 八进制, 十六进制:
int a = 123; //十进制数
int b = 0123; //八进制
int c = 0x123; //十六进制

7.控制台输入

import java.util.Scanner;  //必须先在类头添加这个才能运用输入功能
Scanner scan=new Scanner(System.in);//控制台输入控件
System.out.println("请输入");//提示输入
int a=scan.nextInt();  //nextInt()接收int类型的输入
String str=scan.nextLine();  //nextInt()接收int类型的输入
String str=scan.nextLine();  //nextLine()接收字符串类型的输入
System.out.println(a);//输出刚才输入的值

8.数据类型转换

  1. java基本的数据类型有8种:byte、short、int、long、float、double、boolean、char。前六种基本数据类型用于存储数字,char类型可以保存一个Unicode字符,boolean类型可以包含两种可能的状态(false或true)。
  2. 引用数据类型包括:类、接口、枚举、记录、注解和数组这六种。
  3. 自动类型转换的条件:①两种数据类型兼容,②目标数据类型大于源数据类型。

package com.demo;
import java.math.BigDecimal;
public class AutomaticDem {

public static void main(String[] args) {
// 自动数据类型转换
byte a=100;
//byte–自动提升shrot、int
int b=a;
short c=100;
b=c;
char d=‘A’;
b=d;
//int–long提升

long e=b;
//float–double类型提升

float f=3.14f;
double g=f;
g=b;
// int、long—float或者double转型的时候会精度丢失

int n=123456789;
float f2=n;
System.out.println(f2);

//常量:字面值常量,常量的方式进行计算;
//将计算的结果赋值给一个变量,只要这个变量的空间能够存储下这个值就可以
//char类型能够接纳的数据类型:0-65535

int age=19;
char sex=‘女’;
char result=19+‘女’;
//char result2=65536;

//age1和sex1是变量,变量在运算过程中,Sex1的数据类型
//会由char类型自动提升为int类型,所以结果是int类型,
//不能直接赋值给char类型
int age1=19;
char sex1=‘女’;
char result1=(char)(age1+sex1);

byte dd=(byte)200.2;
System.out.println(dd);

int a1=1,b1=2,c1=3;
System.out.println(“sum=”+a1+b1+c1);
System.out.println(“sum=”+(a1+b1+c1));
}
}

关系运算符

关系运算符主要是以下六种
==(等于):a == b,判断a和b是否相等,相等为true,不相等为false
!=(不等于):a != b,判断a和b是否不相等,相等为false,不相等为true
:>(大于):a > b,判断a是否大于b,成立为true,反之为false
<(小于):a < b,判断a是否小于b,成立为true,反之为false
:>=(大于等于):a >= b,判断a是否大于等于b,成立为true,反之为false
<=(小于等于):a <= b,判断a是否小于等于b,成立为true,反之为false
关系运算符只会输出true和false的布尔值。
==是判断,=是赋值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值