Java基础讲解--基本数据类型和运算
编码
ASCII--0~127 65-A 97-a
西欧码表---ISO-8859-1---0-255---1个字节
gb2312----0-65535---gbk---2个字节
Unicode编码体系---utf-8---3个字节
中 f
bit位 Byte字节 1Byte = 8bit 1KB=1024B MB GB TB PB---计算机中存储单位
常量
整数常量---所有的整数 3,99,107
小数常量---所有的小数 3.5 100.9
字符常量---用单引号将一个字母、数字、符号标识起来 ‘a’ ‘=’ ‘ ’
字符串常量---用双引号将一个或者多个字符标识起来 “abc” “234” “q2” “”
布尔常量---用于表示逻辑值---true/false
空常量---null
5-整数, 5.0-小数 ‘5’-字符 “5”-字符串 ‘5.0’-写法错误 “5.0”-字符串
进制
二进制:满二进一,0~1 1+1=10 0b10011 0b0011,从JDK1.7开始,允许以0b作为开头来标识一个数字是一个二进制数字
八进制:满八进一,0~7, 7+1=10 要求必须以0作为开头 06 015
十进制:满十进一,0~9
十六进制:满十六进一,0~9,,A~F,9+1=A f+1=10 要求以0x作为开头 0x5 0xad
进制的转换
十进制转换成二进制:不断除以2取余,然后将余数倒排
二进制转换成十进制:从低位次起,按位次乘以2的位次次幂,然后求和
二进制转换成八进制:从低位次起,每三位划分为一组,不足三位补0,产生一位八进制数字,将这些数字按序排列即可
八进制转换成二进制:一变三---一位八进制数字产生三位二进制数字
二进制转换成十六进制:四变一的过程
变量
System.out.println(i);
int i = 5;---不行---变量必须先声明在使用
int i;
System.out.println(i);---不行----变量在使用之前必须先初始化
数据类型
基本数据类型
数值型
整数型
byte---字节型---1个字节--- -2^7~2^7-1 --- -128~127
byte b = 5; byte b2 = -128;
short---短整型---2个字节--- -2^15~2^15-1 --- -32768~32767
short s = 54; short s = -900;
int---整型---4个字节--- -2^31~2^31-1
int i = 100000;
int j = 100_000_000;--从JDK1.7开始是允许的。在编译的时候会自动忽略这些_ -> int j = 100000000;
int i = 00001111;---八进制
Java中整数默认类型就是int
long---长整型---8个字节--- -2^63~2^63-1---以L作为结尾标识这个数字是一个long类型的数字
long l = 3L;
浮点型
float---单精度---4个字节---必须以f作为结尾
float f = 3.2f;
double---双精度---8个字节
Java中小数默认是double类型
double d = 3.5;
double d = 4.6D;---可以
double d = 3.9e4; //是十进制的科学计数法
double d = 0x3p2; //是十六进制的科学计数法 -> 12
字符型
char---2个字节--- 0 ~65535
char c = ‘a’;
char c = ‘中’;
布尔型
boolean---true/false
boolean b = false;
引用数据类型
类---class 接口---interface 数组---[]
数据类型的转换
隐式转换/自动类型转换
byte b = 100;
int i = b;
long l = 63;---可以---当整数的值在int类型的范围内的时候,可以不用添加L这个结尾
规律一:小的类型可以转化为大的类型---byte->short->int->long float->double
int i = 5;
float f = i;
long l = 6;
float f = l;
规律二:整数可以转化为小数,但是可能产生精度损失
char c = ‘a’;
int i = c;
规律三:字符型可以转化为整型
short s = ‘a’;---可以
char c = 100;---可以
char c = ‘a’;
short s = c;---不可以
定义了char类型的变量c,存储的数据是一个字符,不需要检查具体的字符编码,当赋值给short类型的时候,short需要检查这个字符对应的编码是否在short类型的取值范围内,这个时候无法确定这个字符对应的具体编码,由于short类型的取值范围和char类型没有完全重合,为了防止出现超过范围的情况,不允许赋值。
short s = 97;
char c = s;--不可以
显式转换/强制类型转换
long l = 54;
int i = (int)l;
double d = 3.5;
int i = (int)d;---小数强转成整数的时候,小数部分直接舍弃
double类型不能精确存储小数
Hexadecimal--十六进制
Decimal--十进制
Octal---八进制
Binary--二进制
运算符
算术运算符
+加 -减 *乘 /除 %取模 ++自增 --自减 +字符串拼接
int i = 5210 / 1000 * 1000;--->i = 5000;
注意:
1. 整数运算完成之后结果一定是整数
2. 整数除以0的时候,编译通过,运行报错---ArimeticException---算术异常
3. 小数除以0的结果是Infinity
4. 0/0.0的结果是NaN---Not a Number---非数字
5. byte/short类型在运算的时候会自动提升为int类型
%取余运算
-5%3=-2 -4%3=-1 -3%7=-3
5%-3=2 7%-2=1 2%-8=2
-5%-3=-2 -9%-3=0
对于负数的取余,先按照正数的取余运算,看取余符号左边的数字的符号,如果左边是负数,那么结果就是负数
5%1.2=0.2 6%1.3=0.8
4.3%1.4=0.1
++/--
对于++在原来的基础上自增1
int i = 5;
int j = ++i;---> i自增1,然后将i的值赋值给j---先自增,再运算
int j = i++;--->先获取i的值5,i自增变成6,然后将获取的值5赋值给j---先运算,再自增
int i = 3;
int j = ++i * 2;-> j = 8;
int j = i++ * 2;->j = 6
int i = 6;
int j = i++ + ++i;->i = 8; j = 14;
int j = ++i + i++;->i = 8; j = 14
byte b = 5;
b++;---JVM在底层会对结果进行强制类型转换,将结果再转换为byte类型
char c = ‘a’;
System.out.println(c + 4);--可以
char c2 = ‘d’;
System.out.println(c + c2);---提升为int类型之后再进行运算
+ 字符串拼接运算
“a” + “b”---> “ab”
“a” + 3---> “a3”
“a” + true-> “atrue”
2 + 4 + “f”-> “6f”
“f” + 2 + 4-> “f24”
赋值运算符
= += -= *= /= %= &= |= ^= <<= >>= >>>= ~=
int i= 5;
i += 3; -> i = i + 3; -> i = 8;
i -= 2;-> i = i - 2;-> i = 3;
int j;
j += 4;---不行
int i = 5;
i += i -= i *= 5;--> i = -15;
i = 5 + ( 5 - (5 * 5)) ;
i += i -= i *= ++i;--->i = -20;
i += i*= i-= (i++ + --i);---> i = -20;
i = 5 + ( 5 * (5 - (5 + 5)));
byte b = 5;
b += 3;---可以
byte b = 125;
b += 3;---可以--- -128
比较/关系运算符
==相等 !=不等 > < >= <= instanceof
3 == 4;-> false
instanceof---判断对象与类的关系的--只能用于引用数据类型
String s = “abd”;
System.out.println(s instanceof String);---true
System.out.println(“def” instanceof String);---true
逻辑运算符
用于运算逻辑值
&与 |或 !非 ^异或 &&短路与 ||短路或
true&true=true true&false=false false&true=false false&false=false
true|true=true true|false=true false|true=true false|false=false
!true=false !false=true
true^true=false true^false=true false^true=true false^false=false
对于&&,如果前一个表达式的值为false,那么就能确定整个表达式的值为false,&&后边的运算就不再进行了
三元/三目/条件运算符
逻辑值?表达式1:表达式2
如果逻辑值为true,执行表达式1;反之执行表达式2
int i = 5, j = 7;
i > j ? System.out.println(i): System.out.println(j);---不行!三元运算符运算完成之后必须有结果!
double d = i > j ? i * 2.5 : j;---两个表达式的返回值类型要么一致,要么相容
从控制台获取数据
import java.util.Scanner; //写在package之下,class 之上
Scanner s = new Scanner(System.in);
int i = s.nextInt();
double d = s.nextDouble();
String str = s.nextLine();
String str2 = s.next();
Atas ialah kandungan terperinci Java基础讲解--基本数据类型和运算. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











AI boleh membantu mengoptimumkan penggunaan komposer. Kaedah khusus termasuk: 1. Pengoptimuman Pengurusan Ketergantungan: AI menganalisis kebergantungan, mengesyorkan kombinasi versi terbaik, dan mengurangkan konflik. 2. Generasi Kod Automatik: AI menjana fail komposer.json yang sesuai dengan amalan terbaik. 3. Meningkatkan Kualiti Kod: AI mengesan masalah yang berpotensi, memberikan cadangan pengoptimuman, dan meningkatkan kualiti kod. Kaedah ini dilaksanakan melalui pembelajaran mesin dan teknologi pemprosesan bahasa semulajadi untuk membantu pemaju meningkatkan kecekapan dan kualiti kod.

Fungsi MySQL boleh digunakan untuk pemprosesan dan pengiraan data. 1. Penggunaan asas termasuk pemprosesan rentetan, pengiraan tarikh dan operasi matematik. 2. Penggunaan lanjutan melibatkan menggabungkan pelbagai fungsi untuk melaksanakan operasi kompleks. 3. Pengoptimuman prestasi memerlukan mengelakkan penggunaan fungsi dalam klausa WHERE dan menggunakan GroupBy dan jadual sementara.

Kaedah untuk mengkonfigurasi set aksara dan kolasi dalam MySQL termasuk: 1. Menetapkan set aksara dan kolasi di peringkat pelayan: setNames'utf8 '; Setcharactersetutf8; SetCollation_Connection = 'UTF8_GENERAL_CI'; 2. Buat pangkalan data yang menggunakan set aksara tertentu dan kolasi: createdataTabaseexample_dbcharactersetutf8collateutf8_general_ci; 3. Nyatakan set aksara dan kolasi semasa membuat jadual: createTableExample_table (idint

Menamakan semula pangkalan data dalam MySQL memerlukan kaedah tidak langsung. Langkah -langkah adalah seperti berikut: 1. Buat pangkalan data baru; 2. Gunakan mysqldump untuk mengeksport pangkalan data lama; 3. Import data ke dalam pangkalan data baru; 4. Padam pangkalan data lama.

Melaksanakan corak singleton di C dapat memastikan bahawa hanya ada satu contoh kelas melalui pembolehubah ahli statik dan fungsi ahli statik. Langkah -langkah khusus termasuk: 1. Gunakan pembina peribadi dan padamkan pembina salinan dan pengendali tugasan untuk mengelakkan instantiasi langsung luaran. 2. Menyediakan titik akses global melalui kaedah statik GetInstance untuk memastikan hanya satu contoh yang dibuat. 3. Untuk keselamatan benang, mod kunci semak dua boleh digunakan. 4. Gunakan petunjuk pintar seperti std :: shared_ptr untuk mengelakkan kebocoran ingatan. 5. Bagi keperluan prestasi tinggi, pembolehubah tempatan statik boleh dilaksanakan. Harus diingat bahawa corak singleton boleh menyebabkan penyalahgunaan negara global, dan disyorkan untuk menggunakannya dengan berhati -hati dan mempertimbangkan alternatif.

JavaPlaysasignificantroleiniotduetoitsplatformindant.1) itAllowscodetobewrittenceandondrariousdevices.2) Java'secosystemprovidesuseFullibrariesforiot.3)

Java sesuai untuk membangunkan aplikasi web cross-server. 1) Falsafah "Tulis Sekali, Di Mana -mana" Java membuat kodnya dijalankan di mana -mana platform yang menyokong JVM. 2) Java mempunyai ekosistem yang kaya, termasuk alat seperti Spring dan Hibernate, untuk memudahkan proses pembangunan. 3) Java melaksanakan dengan baik dalam prestasi dan keselamatan, menyediakan pengurusan memori yang cekap dan jaminan keselamatan yang kuat.

Bagaimana untuk menetapkan kesan putaran elemen dalam HTML? Ia boleh dicapai menggunakan CSS dan JavaScript. 1. Harta transformasi CSS digunakan untuk putaran statik, seperti berputar (45DEG). 2. JavaScript boleh mengawal putaran secara dinamik, yang dilaksanakan dengan mengubah atribut Transform.
