Java基础之入门必备

以下内容是Java入门最基础的内容,整理稍微笼统,但覆盖了Java入门所必要的基本知识。
以下主要包括内容有:
进制的转换
cmd命令提示符的使用
JDK环境的配置
第一个helloworld项目的注意事项
常量和变量的基本使用
数据类型的转换
运算符的介绍
方法入门及流程控制

希望同学们扎好基础,坚持学习,成功秃顶哈哈哈哈哈!!!
以下知识稍有笼统,同学们可以先看个大概,有学习思路后再去具体学习。

进制之间的转换

介绍个十转二:
辗转相除法(小学学的)然后倒着数回来

Win10自带计算器选程序员

字节是最小单元

Cmd命令提示符

Windows图形界面做的非常漂亮,linux非常不漂亮

切换盘符 D:
cd…上一级文件夹
cd 文件名 下一级 tab补全
\这个叫反斜杠
cd \ 直接返回根路径
dir 查看问价夹里的东东
cls清屏
exit推出

JDK环境配置

JVM
JDK/JRE
文件扩展名
配置环境变量

HelloWorld天才第一步

Javac 文件名带后缀
Java 不带后缀
Notepad++ 和Edit plus差不多
注释//
多行注释/* */
关键字 public 、class

命名法则:
标识符 类名(大驼峰)、方法名(小驼峰)、变量名(小驼峰)。驼峰取名

常量的使用

常量: 固定不变的 有字符串、整数常量、浮点数常量、字符常量、布尔常量、空常量

基本数据类型:
整数型 byte short int long
浮点型 float double
字符型 char
布尔型 boolean

引用数据类型:
字符串、数组、类、接口、Lambda

  1. 字符串是引用类型
  2. 浮点型可能是一个近似值
  3. 数据范围和字节不一定相关,float数据范围比long更加广泛,但float是4字节,long是8字节。
  4. 浮点数当中默认类型是double。如果一定要用float加后缀F。推荐大写 整数默认int,long后加L。推荐大写字母当后缀。

变量的使用

变量概述:内容可以发生改变 注意事项:

  1. 变量名不可重复
  2. 对于float和long类型,字母后缀F和L不能丢掉
  3. 如果使用byte或short类型变量,数据值不能超过左侧数据范围
  4. 没有赋值的变量不能直接使用
  5. 变量使用不能超过作用域范围 作用域:从定义变量的一行开始,一直到直接所属的大括号结束为止
  6. 可以通过一个语句创建多个变量,不推荐使用

数据类型转换

整数默认int
小数默认double
Long类型后不加L后缀也不报错,(自动类型转换了)

自动类型转换:
特点:自动完成
规则:数据范围从小到大,跟字节无关 如:int->long、float->double、long->float等

强制类型转换:
如 int num = 100L;这是从大到小,不能自动完成。
特点:不能自动完成
正确格式:int num = (int) 100L;

强转注意事项:

  1. 不推荐使用,可能精度损失、数据溢出;转后虽然格式对了,但是数据不对。 Long转给int装不下,数据溢出 小数转给int变整数,精度损失
  2. byte/short/char这三种都可发生数学运算,加减乘除等。 Char是字母有对应的数字,如A=65,
  3. byte/short/char这三种在运算时,会现被提升为int类型再计算 byte+byte自动提升成int了,byte num = byte+byte不对,intnum = byte+byte才对。 如果想输出本来类型得强转,如short num2 =
    (short)(byte + short);
  4. boolean类型不能发生数据类型转换

ASCII编码表
如0=48,A=65,a=97,,char类型
Unicode码表:万国码,啥都包含。表情也有。
“中“字是20013

运算符介绍

运算符 如:加减乘除
表达式 如:a+b
算术运算符 小学学的
对于一个整数表达式,除法用的是整数,整数除以整数,结果仍然是整数,只看商不看余数。%取模(取余数)运算符 :只取余数,没商。
注意:一旦运算有不同类型的数据,结果是范围大的。
Int+double=double

+三种用法:

  1. 对数值运算,就是加法
  2. 对于字符char类型,在计算之前,char会被提升为int,然后再计算
  3. 对于字符串string来说,加号代表字符串连接操作。 任何数据类型和字符串连接的时候,结果都变成字符串。

String+int=string、优先级问题
自增自减运算符:
自增:++
自减:–
基本含义:让一个变量加减一个数字1
格式:如:num++、–num
使用方式:

  1. 单独使用:不和其它操作混合,自己独立成为一个步骤
  2. 混合使用,和其他操作混合,例如赋值混合,或打印操作混合。

区别:
1.单独使用num++和++num没啥区别
2.混合是有很大差距

++num,变量马上+1,然后拿着结果使用。先加后用
num++,首先使用原来的数值,再让变量+1。先用后加
注意事项:只有变量才能使用自增自减。

赋值运算符
基本赋值运算符:就是一个“=”,将右侧数据交给左侧变量
复合赋值运算符:
+= a += 1相等于 a = a +1
-= b -= 4 相当于 b = b-4
= c = 5 相当于 c= c*5
/= d /= 6 相当于 d = d/6
%= e% = 7 相当于 e = e%7
注意事项:
6. 只有变量才能使用赋值运算符,常量不能进行赋值
7. 复合赋值运算符隐含了一个强转。如byte num = 30;num += 5;byte转为int

比较运算符
== 比较是否相等 一个=是赋值
<、>、<=、>=、!=
结果就是true和false
注意事项:
1、 记过就是个boolean值
2、 多次判断不能连这些,就这样1<x<3这是错的,要拆开。

逻辑运算符
与(&&)全都是true,才是true
或(||)至少一个true,就是true;全是false,才是false
非(!)本来是true,变成false
与“&&”,或“||”,具有短路效果,如果根据左边已经可以判断得到最终结果,右边的就不再执行,节省了一定性能。用++b可以来验证/
注意事项:

  1. 只能用于boolean值
  2. 与或需要左右各有一个boolean值,取反只要有唯一的一个boolean值即可
  3. 与或两种运算符,如果有多个条件,可以连续写。
    条件一&&条件二&&条件三
    对于1<x<3,这样写1<x && x<3;

三元运算符
一元运算符:只需要一个数据就可以操作的运算符,如取反,自增,自减
二元运算符:需要两个数据才可以进行操作的运算符。如加法,赋值
三元运算符:需要三个数据才可以进行操作的运算符
格式: 数据类型 变量名称 = 条件判断 ?表达式A : 表达式B;
流程:首先判断条件是否成立:
如果成立为true,那么将表达式A的值赋值给左侧的变量;
如果不成立为false,将表达式B赋值给左侧变量;
二者选其一。
例如:int max = a > b ? a : b;a和b谁大输出谁。
注意事项:

  1. 必须同时保证表达式A和表达式B都符合左侧数据类型要求
  2. 三元运算符的结果必须被使用

方法入门

把一个功能抽取出来
格式:public static void 方法名称(){
方法体
}
小驼峰命名规则。
方法体:大括号中可以包含任意条语句
注意事项:

  1. 方法定义的先后顺序无所谓
  2. 方法的定义不能产生嵌套包含关系
  3. 方法定义好不会执行,如果要想执行,一定要进行方法调用。
    如何调用方法,格式: 方法名称();

JDK9新特性
JShell小工具有啥用?轻量使用
在jshell中可以直接输出运行,不那么麻烦了,,就是脚本
/exit来退出,
极其简单的时候才使用,就是说没用。

编译器优化注意事项
如果右侧超过左侧范围,就报错,报溢出。
对于byte/short/char三种类型,如果右侧赋值数值没有超过范围,那么javac编译器将会自动隐含地为我们补上一个(byte)(short)(char)

  1. 如果没有超过左侧范围,编译器补上强转
  2. 如果超出了左侧范围,直接报错
    在给变量进行赋值的时候,如果右侧的表达式中全都是常量,没有任何变量,那么编译器javac将会直接将若干个常量表达式计算得到结果。
    如short result = 5+8;,,右边都是常量
    编译之后得到的.class字节码文件中相当于直接就是:
    short result=13;
    右侧的数值没有超过左侧的范围,所以正确,真称之为“编译器的常量优化”。
    但是注意:一旦表达式中有变量参与,那么就不再进行这种优化了。

流程控制

顺序结构
判断语句
选择语句

顺序结构:
在这里插入图片描述

判断语句
If
单if语句
If(关系表达式){
语句体;
}
在这里插入图片描述
标准If…else语句
If(关系表达式){
语句体1;
}else{
语句体2;
}
在这里插入图片描述
复合if…else if…else
在这里插入图片描述在这里插入图片描述

If替换三元运算符

选择语句switch
在这里插入图片描述
注意事项:

  1. 多个case后面的数值不可以重复。
  2. Switch后面小括号当中只能是下列数据类型
    基本数据类型:byte/short/char/int
    引用数据类型:string字符串、enum枚举
  3. switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句可以省略(不建议)匹配哪一个case就从哪一个位置向下执行,直到遇到break或者整体结束为止。

循环语句
循环结构基本组成部分一般分为四部分

  1. 初始化语句,在循环开始最初执行,而且只做唯一一次
  2. 条件判断,成立继续,不成立退出
  3. 循环体,重复事情的内容
  4. 步进语句,每次循环结束都要执行一次
    for循环语句
    在这里插入图片描述
    执行流程:
    在这里插入图片描述
    While循环
    标准格式:
    while(条件判断){
    循环体;
    }
    在这里插入图片描述
    扩展格式:
    初始化语句;
    while(条件判断){
    循环体;
    步进语句;
    }
    在这里插入图片描述
    在这里插入图片描述
    do…while循环
    标准格式
    do{
    循环体;
    }while(条件判断);
    扩展格式:
    在这里插入图片描述
    流程:
    在这里插入图片描述

三种循环的区别:

  1. 如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一次。
  2. for循环的变量在小括号中定义,只有循环内部才可以使用。While循环和do-while循环初始化语句本来就在外面,所以出来循环之后还可以继续使用。

循环控制 break
Break关键字的用法有常见的两种:

  1. 可以用在switch语句当中,一旦执行,整个switch语句立刻结束
  2. 还可以再循环语句中使用,一旦执行,整个循环语句立刻结束。打断循环。
    关于循环的选择,有一个小建议:
    凡是次数确定的场景多用for循环;否则多用while循环
    Continue语句:
    一旦执行,立刻跳过当前次循环剩余内容,马上开始下一次循环。
    Continue比较轻,只跳出本次,接着执行下一次;
    break比较严重,直接跳出所有循环,输出了最终的结果
    死循环:永远停不下的循环
    标准格式:
    while(true){
    循环体;
    }
    循环嵌套:大循环包含小循环
    在这里插入图片描述
发布了9 篇原创文章 · 获赞 1 · 访问量 128

猜你喜欢

转载自blog.csdn.net/qq_41570843/article/details/105553272
今日推荐