相关文章推荐
深沉的板栗  ·  SQL ...·  1 年前    · 
豪爽的西装  ·  javascript - Refused ...·  1 年前    · 


java中的注释:
单行注释:"//" 只能书写在一行的注释
多行注释:"/* /" 注释多行内容
文档注释:"/
* */" 以"/**" 开头 以" */ "结尾

java数据类型:

主要分为两种数据类型:基本数据类型和引用数据类型

基本数据类型:

整数类型 :(byte(字节型),short(短整型),int(整型),long(长整型))

浮点类型 :double(双精度),float(单精度))带有小数点 Java中默认的小数值是double类型的。如需改变小数值类型为float类型,在小数结尾加上F/f;用第一位来记录符号,后面就位记录整数,其余记录小数 Long类型的数据类型建议用写的L表示,小写易于1混淆

字符型 :(char)单引号且单引号只能有一个字符 长度与short一样,也是16位

布尔型: (boolean)true和false

java一个接口返回不同的数据 java怎么返回两种数据类型_数据类型


java一个接口返回不同的数据 java怎么返回两种数据类型_java_02

java一个接口返回不同的数据 java怎么返回两种数据类型_字符串_03


引用数据类型

数组[] 类class(抽象类 abstract class) 接口(interface) 枚举(enum) 注解(@interface)

String类型:存储字符串

1个字节由8个bit组成 00000000 256种
用第一个bit位置来记录符号 0正数 1负数
数值范围 -2的7次方~2的7次方-1 为什么减一 0的存在
-128~127

ASCII码:

java一个接口返回不同的数据 java怎么返回两种数据类型_数据类型_04

java的字面值:
给基本的变量赋值的方式就是字面值;
浮点数字面值:以F结尾的字面值表示folat类型
字符和字符串字面值:单引号和双引号

整数的字面值可以由四种进制来表示:
十进制:基10,包含从0~9的数字 ——常用
十六进制:基16,包含从0~9的数字,和从A-F的字母 0x开头表示16进制
八进制:基8,包含0~7的数字 0开头的表示8进制
二进制:基2,包含0和1 ,0b开头表示二进制;

转义字符:
\t 制表符(tab键相当于四个空格)
\r 回车 \n 换行 \” 双引号 \’ 单引号 \ 反斜杠
转义字符 \ 可以将身后的一个字符的意思发生转换
转义字符可以转换特殊的符号 “ ‘ \

数据类型的转换:
强制类型转换:
高精度(大)向低精度(小)转换需 强制转换 (丢失精度)
需注意虽然 short 和 char 类型都是16位的,但仍需要强转

隐式数据类型转换:
数据大小排序:byte short char int long
数据类型小的与大的数据类型运算 小的会被自动提升

常量:
程序运行过程中,不能再次改变的值
作用:固定的值,用来代表一个含义
变量:
用来命名一个数据的标识符 是一个内存空间,在创建(声明)时,必须指定数据类型和名字,只能存储一个内容(值 引用)可以改变
变量的生命周期(变量 栈内存空间 从声明开始创建出来 用完及回收)
语法规则:数据类型 = 变量名;

赋值:= 把右边的值赋给左边

结束: ; 分号表示改行结束

关键字列表

java一个接口返回不同的数据 java怎么返回两种数据类型_java_05


java一个接口返回不同的数据 java怎么返回两种数据类型_java一个接口返回不同的数据_06


中文也可以用来命名变量(不建议使用)

java 的作用域:
变量处于不同的位置时,有不同的含义:
分别是:字段、属性、成员变量、Field:变量被声明在类的下面

**参数**:变量声明在方法上,其作用域即为该方法内的所有代码中,其他方法不能调用,类里面也不能访问
**局部变量**:声明在方法中,作用域为声明开始的位置,到其所处的块结束位置

java中 final修饰变量——当变量被final修饰时,只能有一次赋值的机会,且不会改变
java表达式:
表达式是由变量、操作符以及方法调用所构成的结构
java的块:
{开始到对应的}结束,即为块

java运算符:
1、 算数运算符:+、-、*、/、%(取余)、++(自增)、–(自减)——对于运算单元的长度超过int,那么运算结果就按照最长的长度计算;如果运算单元的长度都不超过int,那么运算结果就按照int来计算
%(取模,取余):取余数
++(自增)–(自减)操作符置于前后的区别
i++; 先取值,在运算 ++i;先运算,再取值

有一个备份的过程, ++在变量之前,先自增后备份 ++在变量之后,先备份后自增,并将会将备份空间的值赋给别人

例:

java一个接口返回不同的数据 java怎么返回两种数据类型_java_07


关系运算(比较)符:

= 赋值 > 大于 >=大于或等于 <小于 <=小于或等于 ==是否相等 !=不等于 (instanceof:用来看一个对象是否是某个类型)

逻辑运算符:(值为true或false时)
! (逻辑非,取反):真变为假,假变为真
^ (逻辑异或^):两边结果不同,返回真。相同,返回假
&(长路与):两边的运算单元都是布尔值,都为真时,才为真,任意为假,就为假
&&(短路与):两边的运算单元都是布尔值,都为真时,才为真,任意为假,就为假
| (长路或):两边的运算单元都是布尔值 都为假时,才为假。任意为真,就为真
||(短路或):两边的运算单元都是布尔值 都为假时,才为假。任意为真,就为真

短路与和长路与:长路与两侧,都会别运算。短路与只要第一个是false,第二个就不需要运算了长路与  长路与无论第一个表达式的值是true或者false,第二个的值,都会被运算
&&短路与:什么情况发生短路:前面的值为false时发生短路  
短路的是什么? 是&&之后所有的计算

java一个接口返回不同的数据 java怎么返回两种数据类型_java一个接口返回不同的数据_08

短路或和长路或:长路或 两侧都会被运算    短路或 只要第一个是true,第二个就不进行运算了左边为true,右边不执行

java一个接口返回不同的数据 java怎么返回两种数据类型_java_09

java的位运算符:
| (按)位或 一个为true都为true
& (按)位与 两个都为true才为true
^ (按位)异或 两个不相同为true 1
~ 取非(按位取反)
<< 按位左位移 相当于乘以2的位移次幂
>> 按位右位移 相当于除以2的位移次幂
>>> 带符号右位移与无符号右位移
如果是两个>>位移符号 保留符号位置,原来是什么就是什么
如果是>>>位移符号 不保留符号位置 原来不管是什么都填0
例 6<<1 =? 12
00000000 0000000 00000000 00000110
0000000 0000000 00000000 000001100

java的位运算符(用来计算二进制):
1. 将数字转化为二进制表示
2. 竖着按照对应位置进行&|^ 计算(1—true 0—false )
3. 将计算后的二进制结果转化为十进制
例:3&5 3|5 3^5
00000011 00000011 00000011
00000101 00000101 00000101
00000001 00000111 00000110
1 7 6

知识补充:
原码 反码 补码 用二进制数字表示
6
原码:00000000 00000000 00000000 00000110
反码:00000000 00000000 00000000 00000110
补码:00000000 00000000 00000000 00000110
-6
原码:10000000 00000000 00000000 00000110 改变元素符号 1是负数 0是正数
反码:11111111 11111111 11111111 11111001 符号不动,取余取反
补码:11111111 11111111 11111111 11110010 反码+1

计算机中不管正数还是负数 存储的形式都是以补码的形式来存储的
注意 反码是一种表现形式 取反一个计算过程(每一位都取反)

补充:
八进制: 每三个bit为记录为一组(3个bit计算成十进制)
例:十进制的60转化为8进制
00 111 100 三个为一组 八进制:074 八进制以数字0开头
7 4
十六进制: 每四个bit位记录为一组
0011 1100 四个为一组 十六进制:0X3C 十六进制以0X开头
3 C 10-A 11-B 12-C 13-D 14-E 15-F

java的赋值运算符:
= 赋值操作
+= 对本身进行运算,并赋值
-=
/=
%=
&=
|=
^=
<<=
>>=
>>>=
+号作用: 自动类型提升 +号后面是表达式 需注意类型的转化

java三元操作符(算术运算符):
表达式?值1:值2 如果表达式为真,返回值1 如果表达式为假,返回值2

**运算符的优先级:**大多数运算符的结合性都是从左到右,即从左到右依次计算

java的Scanner类
用于扫描输入文本的实用程序,获得用户从键盘输入的数据

(1)在使用Scanner类时,需先导入
Import java.util.Scanner;  Scanner类为与java的util包中
(2)创建Scanner对象
Scanner input = new  Scanner(String.in);
Scanner的常用方法
	方法																	说明
	String next()											获得一个字符串
	int nextInt()												获得一个整型数值
	double nextDouble()								获得一个双精度类型数值
	boolean hasNext()									判断是否有输入数据,如果有,返回true,         			          没有返回false   
需要注意,在通过nextInt()读取了整数后,再接着读取字符串,读出来的是回车换行:"\r\n",因为nextInt仅仅读取数字信息,而不会读取回车换行"\r\n".
所以,如果在业务上需要读取了整数后,接着读取字符串,那么就应该连续执行两次nextLine(),第一次是取走回车换行,第二次才是读取真正的字符串
next 和 nextLine 的区别:next : next在输入有效字符之前输入的空格,换行,tab都是无效的,在输入有效字符之后输入的空格,换行,tab都是它的结束符
 nextLine的开始结束都只有换行,中间输入的空格,tab都会照常输出

注:Scanner类在不使用时的关闭 变量名.colse();


深度学习显卡利用率吃不满
第一步,show process cpu 如显示IP input process is using a lot of CPU resources,检查以下情况: 一、Fast switching 在大流量的外出接口上是否被disabled.可以用 show interfaces switching 命令察看接口流量.然后在接口上重