文章目录
前言
一、JDK,JRE,JVM关系
JDK:java开发工具包。
JRE:提供java运行环境。
JVM:运行Java程序。
二、标识符
1.符号只有下划线和美元符号可以存在
2.一般建议类名命名为首字母都大写,方法名和变量命名为首字母小写,其他单词首字母大写。
文件备注
文件,设置,编译器,文件和代码模板
快捷键
main: public static void main(String[] args)
sout: System.out.println();
数据类型
基本数据类型和引用数据类型
引用数据类型:数组,类,接口等
基本数据类型:四类八种。
四类:整型,浮点型,布尔型,字符型。
八种:
注意:java没有无符号之说,相当于全是有符号的
整型默认为int,浮点数默认为double
8bit=1bite
1024bite=1kb
…
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.局部变量
定义在方法中的变量,必须初始化,否则报错。
int
包装类:Integer
int类型:1个符号位,31个数值位。
求整数的最大最小值:
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
Integer:包装类
内存:断电之后数据丢失。
符号位:0为正,1为负。
当Java中,当给定数值超过所表示范围,编译器会报错。
float
包装类为首字母大写。
小数在计算机中没有非常完全的表示。只能是精确到某一位。
必须有f,否则是double类型
float a=3.21f;
char
char注意为2个字节,包装类:Character
boolean变量
包装类:Boolean
值只有两个,false或true。
类型转换
java是强类型编程语言,c是弱。java的类型若:小=大,编译都不能通过。
自动类型转换 大=小,也就是小被自动转换为大的。
强制类型转换 小=(小)大
当给byte赋值时,如果数值没有超过byte的范围,编译器认为合理,不需要写byte强制转换。
当超出范围,byte强制转换。[-128,127]。顺时针是个圆(0-127,-128-1)
float x=8.8f;
double xx=5.44;
x=(float)xx;
byte aa=(byte)128;
System.out.println(aa);//aa=-128
但是要注意,在进行相加时是整数相加,因此是4个字节相加。因此需要强转(可能会精度丢失)或者把byte换int。
不同类型的混合运算,小会提升到大。short,byte会先提升为int。
String类型
c语言中无字符串类型。用指针如:int *p=“chabbb”;如用字符数组char [] s=“hhdjhd”
java中有String类型。不是数组。
String相加为连接。
把int类型转为string类型。String.valueOf(int);(如果要看方法源码,把鼠标放单词中,然后按ctrl+鼠标左键)(然后点击bookmarkes,按alt+7,出现string所有方法。)
把string转为int:Integer.parseInt(str)与Integer.valueOf(str)都可
运算符
注意java中%,两个都可以为负或者。前面的也可以为小数。
关系运算符
逻辑运算符
短路求值:&&(前为false,后不进行)和||(前true,后不进行)
注意&和·|为位运算符,两个都要算,不能实现短路求值。
位运算符
&:对应比特位同为1为1,否则0
|:对应比特位有1,为1.
^:对应比特位不一样为1,一样0
~:按位取反
移位运算(了解)
左移:<<,移动后右补0。
14<<1 => 0000 1110 => 0001 1100 变为28 规律:14*2^1
右移:>>,移动后左补符号位
14>>1 => 0000 1110 =>0000 0111 变为7 规律14/2^1
无符号右移:>>>,移动后左补0
-1>>>1 1111 1111=>0111 1111
三目运算符
总结
每周做一个分享会:1.这周学了什么
2.指定一个人,分享自己擅长的知识。==》半年