2 資料型別 運算子

2021-09-29 14:52:43 字數 3275 閱讀 2726

#!/usr/bin/per -w

use strict; #強制型別宣告,可宣告為my,our等

#標量以$標識,可以是整形、浮點、字串

my $int1 = 1;

my $real1 = 1.1e2;

my $octal = 017; #0開頭是八進位制

my $hexa = 0x1ff; #0x開頭是十六進製制

my $str1 = "abc";

my $str2 = "ab

c"; #支援多行

my ($var1,$var2) = (1,"a"); #支援幾個變數一起宣告

print "\$int1=$int1\n"; #$需要轉義,否則直接輸出$int1的值

printf "\$str1=%s\n",$str1; #格式化輸出,區分整形、浮點、字串

my $var = $int1.$str1; #標量間用"."可以拼接字元

print $var."\n"; #"1abc"

=head1

=cut

#!/usr/bin/perl -w

#陣列以@標識,有序的存放標量、陣列,也可以存放雜湊

my ($a,@array1) = (2,(3,"a")); #@array1=(3,"a")

my ($a,@array2,@array3) = (2,(3,"a"),(4,"b")); #@array1=(3,"a",4,"b"),@array3=();

my @array4 = (1,"a",$a,@array1);

#qw返回字串列表,以空格分隔,也可用qw/.../標識

my @array4 = qw(1 2 a);

#支援字元或數字的「..」範圍宣告

my @array5 = (1..10);

my @array6 = (a..z);

#陣列索引($[)預設從0開始,以$array[index]方式取值

print $array1[0],"\n"; #3,","或"."在print時可連線字元

print $array1[0]."\n";

print $array[-1]; #支援倒序索引

print $array[0..2,4]; #多個索引用「,」隔開,連續索引可用".."

#陣列函式:

#1.新增、刪除元素

push @array1, $var1; #push $var1 into the end of @array1;

push @array2,@array1; #push @array1 into the end of @array2;

pop @array2; #彈出末尾乙個元素

shift @array2; #彈出陣列第乙個值,並返回它。陣列的索引值也依次減一

unshift @array2,$var2; #push $var2 into the front of @array2

unshift @array1,@array2; #push @array2 into the front of @array1;

#替換、刪除元素:splice @array, offset [ , length [ , list ] ]

splice @array,0; #length沒有則選到末尾,list沒有則進行刪除

splice @array,0,1; #從索引為0的元素開始,選擇1個元素,替換為空,即刪除

splice @array,0,2,@arrya2; #用@array2替換陣列前兩個元素,@array2大小不限

#字串分割成陣列: split [ pattern [ , expr [ , limit ] ] ]

my $var = "a_b_c";

my @array = split "_",$var;

my @array2 = split "_",$var,2; #限制返回陣列的元素個數為2,則返回("a","b_c")

#連線數組成字串: join expr, list

my var2 = join "_",@array; #$var2="a_b_c"

#排序:sort @array;

#$[: 陣列第乙個索引,預設為0;

#$_: 遍歷陣列時的當前元素;

#陣列合併:my @array3 = (@array1,@array2);

#!/usr/bin/perl -w

#雜湊以%標識,是key/value鍵值對無序組合

my %hash1 = ("a"=>1,"b"=>"2"); #推薦key=>value形式,key,value形式也可,但不直觀;注意不是{}

print $hash1."\n"; #$hash形式訪問value

my @keys = keys %hash1; #key方法返回雜湊的key集合,注意不是key;不保序

my @values values %hash1; #value方法返回雜湊的value集合,注意不是value;不保序

#新增刪除元素

my $hash1 = 3; #直接賦值

delete $hash;

#檢測key是否存在:exists

if(exists $hash1)

賦值時,perl根據=左邊的變數型別決定返回值

#!/usr/bin/perl -w

my $var;

my @array = (1,2,3);

$var = @array; #3,標量上下文,陣列返回元素個數

賦值運算子支援自操作:+=,-=,*=,/=,%=, **=,++,--

引號運算子:q{},qq{},qx{}

q:'ab',即新增單引號

qq:"abc",即新增雙引號

qx:`time`,即新增反引號,主要用於輸出系統命令,``不直接輸出到螢幕,system()直接輸出到螢幕

關係運算子:

1.數字關係運算子:>,<,==等,<=>:左邊《右邊,返回-1,=返回0,>返回1,如:my $var1 = 1<=>2;    #-1;

2.字元關係運算子:eq等於,ne不等於,<,>等

其他:.連線字串

..範圍運算子

x字串重複,如my $var = "a" x 2;則$var = "aa"

資料型別 運算子

一.資料型別 1.整數型別 2.浮點數 定點數 m為精度 資料總長度 d為標度 小數點後長度 單精度 佔4個位元組,有效數字是7位 雙精度 佔8個位元組,有效數字是16位 在一定情況下,浮點數能表示更大的儲存範圍,但容易產生誤差。因而對精度要求較高時,選擇定點數。定點數以字串儲存。3.日期 時間 4...

資料型別。運算子

一.變數不能重複宣告 int a 10 int a 100 錯誤 二.8種資料型別 1.整形 byte short int long byte 的取值範圍 128 127 2的7次方到2的7次方 1 short 的取值範圍 32768 32767 2的15次方到2的15次方 1 int 的取值範圍 ...

資料型別和運算子 運算子

objective c 支援所有的基本算術運算子 除法運算子。除法運算子有些特殊,如果除法運算子的兩個運算元都是整數型別,則計算結果也是整數,就是將自然 數除法的結果斷取整。求餘運算子。它要求運算子兩邊的運算元必須是整數,他的計算結果是使用第乙個運算元來除以第二個運算元,得到 乙個整除的結果後,剩下...