序号 | 类型名称 | 定义 | 应用举例 | 字节空间 |
---|---|---|---|---|
1 | byte | -128~127,默认0 | byte bt=120; | 1Byte |
2 | short | -32768~32767,默认0 | short st=32700; | 2Byte |
3 | int | 最常用的整数类型-231~231-1,默认0 | int i=100; | 4Byte |
4 | long | -263~263-1,默认0L | long ll=32222L; | 8Byte |
5 | float | 默认0.0f | float=3.2f; | 4Byte |
6 | double | 默认0.0d,默认的浮点数类型 | double=4.5; | 8Byte |
7 | char | 16位无符号整数,代表对应的unicode字符,默认为空 | char=704; | 2Byte |
8 | boolean | 默认false,只允许true/false | Boolean bl=false; | 1Byte |
不同的基本类型直接可以相互转换。
强制类型转换
从大类型到小类型需要强制转换符,但这样转换有可能会造成精度损失或溢出。
特殊转换
多种基本类型参与的表达式运算中,运算结果会自动的向较大的类型进行转换;
byte、char、short三种类型实际存储的数据都是整数,在实际使用中遵循如下规则:
int直接量可以直接赋值给byte、char和short,只要不超过其表示范围;
byte、char、short三种类型参与运算时,先一律转换成int类型再进行运算。
Java是一种强类型语言,这就意味着必须为每一个变量声明一种类型。如:
double salary;
boolean done;
声明一个变量后,必须用赋值语句对变量进行显式初始化。如:
System.out.println(salary); //报错,变量没有初始化
int i = 100;
利用关键字 final 指示常量,表示该变量只能被赋值一次,一旦被赋值之后,就不能再更改了。习惯上,常量名使用全大写。如:
public static final double CM=3.9;
if (yourSales >= 2*target){
bonus = 1000000;
}
else if (yourSales >= 1.5*target){
bonus = 1000;
}
else if (yourSales >= target){
bonus = 100;
}
else{
System.out.print("You are fired!");
}
int i = 1;
while ( i<10 ){
System.out.println(i);
i++;
}
也可以使用 do (statement) while (condition)
int money = 1000;
for (int i=1; i<1000; i++){
money = i*money; //poor little one! sigh!
}
switch (choice){
case 1:
...
break;
case 2:
...
break;
default:
...
break;
}
switch 将从匹配的 case 处执行直到遇到 break,或者执行到switch 语句的结束处为止。警告:有可能触发多个分支,如果在 case分支语句结尾没有 break语句,那么就会接着执行下一个 case 分支语句。
case 标签常量可以是:
break 跳出整个循环;
continue 跳出当前循环。
class Employee{
private String number,name;
private int salary,salarygrow,salarysum;
public Employee(String number,String name,int salary){
this.number=number;
this.name=name;
this.salary=salary;
}
public void salaryGrow(){
salarygrow=salary*2+1000;
}
public void salarySum(){
salarysum=salary+salarygrow;
}
public void printsalary(){
System.out.println("编号:"+number+" 姓名:"+name+" 基本薪水:"+salary+" 薪水增长额:"+salarygrow+" 工资总额:"+salarysum);
}
}
public class EmployeeTest{
public static void main(String args[]){
Employee e=new Employee("11412241","陈菲菲",3000);
e.salaryGrow();
e.salarySum();
e.printsalary();
}
}
---------------------
作者:神之子2
来源:CSDN
原文:https://blog.csdn.net/weixin_42895133/article/details/81807437
版权声明:本文为博主原创文章,转载请附上博文链接!
scala> 24+"H"
res1: String = 24H
scala> var s:String=_ //类型写在变量名称的后面
s: String = null
scala> var i:Int=_
i: Int = 0
scala> var c:Char=_
c: Char = ?
scala> lazy val s = "test"
s: String =
scala> s
res2: String = test
序号 | 类型 | 定义 | 说明 | 示例 |
---|---|---|---|---|
1 | Byte | 字节类型 | 8位有符号整数 | |
2 | Short | 短整型 | 16位有符号整数 | |
3 | Int | 整型 | 32位有符号整数 | |
4 | Long | 长整型 | 64位有符号整数 | |
5 | Float | 浮点型 | 32位浮点数 | val floatnum=0.34f |
6 | Double | 默认浮点型 | 64位双精度浮点数 | |
7 | Char | 字符型 | 16位无符号字符 | |
8 | Boolean | 布尔类型 | ||
9 | Unit | 空类型 |
Scala语言是纯面向对象、编译型编程语言,在Scala中一切皆对象,所有的操作都是方法的调用。或者说 Scala 并不刻意区分基本类型和引用类。你可以对数字执行方法,如:
scala> 1.toString()
res4: String = 1
在Scala中,可以使用加(+)、减(-) 、乘(*) 、除(/) 、余数(%)等操作符,而且,与java不同的是这些操作符都是方法。例如,5 + 3和(5).+(3)是等价的,也就是说:
a 方法 b
a.方法(b)
需要注意的是,和Java不同,在Scala中并没有提供++和- -操作符,当需要递增和递减时,可以采用 += / -=。
关系运算操作 / 逻辑运算操作 / 位运算操作
与java 相同
对象比较运算操作
与java不同:Scala是基于内容进行比较的,而java是比较的对象的引用,即:比较的是物理内存地址是否一样。
scala> var s1 = new String("hello")
s1: String = hello
scala> var s2 = new String("hello")
s2: String = hello
scala> s1.equals(s2)
res8: Boolean = true
scala> s1 == s2
res9: Boolean = true
scala> s1.eq(s2) //和java一样比较内存的话,使用 eq
res10: Boolean = false
Scala 有方法与函数,二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。
Scala 中的方法跟 Java 的类似,方法是组成类的一部分。
Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。
Scala 中使用 val 语句可以定义函数,def 语句定义方法。
class Test{
def m(x: Int) = x + 3 //方法
val f = (x: Int) => x + 3 //函数
}
object func {
def main(args:Array[String]){
var v = 30
if (v<20)
println("the number is less than 20")
else
println("the number is greater than 20")
}
}
object Test {
def main(args: Array[String]) {
// 局部变量
var a = 10
// while 循环执行
while( a < 20 ){
println( "Value of a: " + a )
a = a + 1
}
}
}
do…while…循环同样。
不同于java, Scala 中没有与 for(初始化变量;检查变量是否满足某条件;更新变量)直接对应的结构。
for( var x <- Range ){
statement(s)
}
// i to j 语法:[1,10]
for( a <- 1 to 10){
println( "Value of a: " + a )
}
// i until j 语法:[1,10)
for( a <- 1 until 10){
println( "Value of a: " + a )
}
// 使用分号 (;) 来设置多个区间,它将迭代给定区间所有的可能值。
for( a <- 1 to 3; b <- 1 to 3){
println( "Value of a: " + a )
println( "Value of b: " + b )
}
// 循环集合
for( a <- numList ){
println( "Value of a: " + a )
}
// 循环过滤
for( a <- numList
if a != 3; if a < 8 ){
println( "Value of a: " + a )
}
// 使用 yield, 将 for 循环的返回值作为一个变量存储。
var retVal = for{ a <- numList
if a != 3; if a < 8
}yield a
// 输出返回值
for( a <- retVal){
println( "Value of a: " + a );
}
Scala 不支持 break 或 continue 语句,但从 2.8 版本后提供了一种中断循环的方式:使用breaks 对象的 break方法。
import java.io._
class Point(xc: Int, yc: Int) { //类可以有参数
var x: Int = xc
var y: Int = yc
def move(dx: Int, dy: Int) {
x = x + dx
y = y + dy
println ("x 的坐标点: " + x);
println ("y 的坐标点: " + y);
}
}
object Test {
def main(args: Array[String]) {
val pt = new Point(10, 20);
// 移到一个新的位置
pt.move(10, 10);
}
}
#!/usr/bin/python3
# 第一个注释
# 第二个注释
'''
第三注释
第四注释
'''
"""
第五注释
第六注释
"""
print ("Hello, Python!")
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
print ("False") # 缩进不一致,会导致运行错误
total = item_one + \
item_two + \
item_three
total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']
#!/usr/bin/python3
counter = 100 # 整型变量
miles = 1000.0 # 浮点型变量
name = "runoob" # 字符串
print (counter)
print (miles)
print (name)
a = b = c = 1
a, b, c = 1, 2, "runoob"
类型 | 名称 | 是否可变 |
---|---|---|
Number | 数字 | 不可变 |
String | 字符串 | 不可变 |
List | 列表 | 可变 |
Tuple | 元组 | 不可变 |
Set | 集合 | 可变 |
Dictionary | 字典 | 可变 |
>>> i = 1+ True
>>> print(i)
2
>>> bb = True
>>> print(bb)
True
>>> bb +=1
>>> print(bb)
2
>>> print(type(bb))
Python3 支持 int、float、bool、complex(复数)。
>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
>>> print('Ru\noob')
Ru
oob
>>> print(r'Ru\noob')
Ru\noob
>>> str = 'test'
>>> print(str[1:-1])
es
>>>a = [1, 2, 3, 4, 5, 6]
>>> a[0] = 9
>>> a[2:5] = [13, 14, 15]
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5] = [] # 将对应的元素值设置为 []
>>> a
[9, 2, 6]
>>> list = [1,2,3,4,5,6]
>>> print(list[1:4:2])
[2, 4]
#!/usr/bin/python3
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
tinytuple = (123, 'runoob')
print (tuple) # 输出完整元组
print (tuple[0]) # 输出元组的第一个元素
print (tuple[1:3]) # 输出从第二个元素开始到第三个元素
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号
#!/usr/bin/python3
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) # 输出集合,重复的元素被自动去掉
# 成员测试
if 'Rose' in student :
print('Rose 在集合中')
else :
print('Rose 不在集合中')
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素
#!/usr/bin/python3
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2] = "2 - 菜鸟工具"
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print (dict['one']) # 输出键为 'one' 的值
print (dict[2]) # 输出键为 2 的值
print (tinydict) # 输出完整的字典
print (tinydict.keys()) # 输出所有键
print (tinydict.values()) # 输出所有值
>>> 2 / 4 # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
and | x and y |
---|---|
or | x or y |
not | not x |
in | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
---|---|
not in | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True |
运算符 | 描述 | 实例 |
---|---|---|
is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
while 判断条件:
语句
while…else…
#!/usr/bin/python3
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
#!/usr/bin/python3
sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
if site == "Runoob":
print("菜鸟教程!")
break
print("循环数据 " + site)
else:
print("没有循环数据!")
print("完成循环!")
>>>for i in range(0, 10, 3) :
print(i)
0
3
6
9
break 跳出全部循环
continue 跳出当前循环
def 函数名(参数列表):
函数体
>>>def hello() :
print("Hello World!")
>>> hello()
Hello World!
>>>
#!/usr/bin/python3
#类定义
class people:
#定义基本属性
name = ''
age = 0
#定义私有属性,私有属性在类外部无法直接进行访问
__weight = 0
#定义构造方法
def __init__(self,n,a,w):
self.name = n
self.age = a
self.__weight = w
def speak(self):
print("%s 说: 我 %d 岁。" %(self.name,self.age))
# 实例化类
p = people('runoob',10,30)
p.speak()
#--------------------------------------------
# 这是一个注释
# author:菜鸟教程
# site:www.runoob.com
:<
your_name="runoob.com"
your_name="qinjx"
echo $your_name
echo ${your_name}
#!/bin/bash
# author:菜鸟教程
# url:www.runoob.com
echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
$ chmod +x test.sh
$ ./test.sh 1 2 3
Shell 传递参数实例!
执行的文件名:./test.sh
第一个参数为:1
第二个参数为:2
第三个参数为:3
#!/bin/bash
val=`expr 2 + 2`
echo "两数之和为 : $val"
算术运算符 | 关系运算符 | 布尔运算符 | 逻辑运算符 | 字符串运算符 |
---|---|---|---|---|
+ | -eq | ! | && | = |
- | -ne | -o | || | != |
\* | -lt | -a | -z | |
/ | -gt | -n | ||
% | -le | $ | ||
= | -ge | |||
== | ||||
!= |
#!/bin/bash
# author:菜鸟教程
# url:www.runoob.com
a=10
b=20
if [[ $a -lt 100 && $b -gt 100 ]]
then
echo "返回 true"
else
echo "返回 false"
fi
if [[ $a -lt 100 || $b -gt 100 ]]
then
echo "返回 true"
else
echo "返回 false"
fi
num1="ru1noob"
num2="runoob"
if test $num1 = $num2
then
echo '两个字符串相等!'
else
echo '两个字符串不相等!'
fi
if condition1
then
command1
elif condition2
then
command2
else
commandN
fi
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done
while condition
do
command
done
until condition
do
command
done
case 值 in
模式1)
command1
command2
...
commandN
;;
模式2)
command1
command2
...
commandN
;;
esac
#!/bin/bash
while :
do
echo -n "输入 1 到 5 之间的数字:"
read aNum
case $aNum in
1|2|3|4|5) echo "你输入的数字为 $aNum!"
;;
*) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"
break
;;
esac
done
#!/bin/bash
while :
do
echo -n "输入 1 到 5 之间的数字: "
read aNum
case $aNum in
1|2|3|4|5) echo "你输入的数字为 $aNum!"
;;
*) echo "你输入的数字不是 1 到 5 之间的!"
continue
echo "游戏结束"
;;
esac
done
#!/bin/bash
# author:菜鸟教程
# url:www.runoob.com
funWithParam(){
echo "第一个参数为 $1 !"
echo "第二个参数为 $2 !"
echo "第十个参数为 $10 !"
echo "第十个参数为 ${10} !"
echo "第十一个参数为 ${11} !"
echo "参数总数有 $# 个!"
echo "作为一个字符串输出所有参数 $* !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73
传说中一网打尽各类编程语言的语法:http://www.runoob.com
Java八种基本类型(byte、short、int、long、浮点数、char、boolean、基本类型转换)
Java 定义并测试一个代表员工的Employee类
scala开发快速入门 | 第二篇 变量及基本数据类型
Scala学习之——变量、函数、方法及两者联系
Scala 教程