Pages

Java Data Types

කොහමද ඉතින් කට්ටියට.මම හිතනවා ගිය පාඩම කට්ටියට හොඳට තේරුම් යන්නැති කියලා.එහෙනන් අද පාඩම ඩේටා ටයිප්ස් ගැනයි.

මොනවද මේ Data කියන්නේ.

  1. A Place (ස්ථානයක්)
  2. A name (නමක්)
  3. A number (අංකයක්)
මේ වගේ ඕනෑම දෙයක් data එකක් යනුවෙන් ගන්න පුළුවන්.

කොහමද පරිගණකය data හඳුනා ගන්නේ.




පරිගණක දෘඩාංග කියන්නේ මොනවද 



දෘඩාංග සාමාන්‍යයෙන් කොටස් 2කට බෙදෙනවා  
1.Primary storage
                   1. Volatile
                   2. RAM

2.Secondary storage
                   1. Non-volatile
                   2. Hard disks

RAM එක කොහමද වැඩකරන්නේ කියලා දන්නවද 

Binary

මොනවද මේ Binary කියන්නේ. data එකක කුඩාම අවස්ථාව binary යනුවෙන් හඳුන්වන්න පුළුවන්. A කියන  අකුරට අදාළ binary එක මොකක්ද කියලා ඇහුවොත් කොහමද අපි දැනගන්නේ. එකට අපිට දැනගන්න වෙනවා ASCII ගැන. මොනවද මේ ASCII කියන්නේ. American Standard Code for Information Interchange කියන්නේ එකට තමා. ඒ කියන්නේ ඉංග්‍රීසි හෝඩියේ සෑම අකුරකටම ජාත්‍යන්තර වශයෙන් code එකක් දීලා තියෙනවා.එකට තමයි ASCII කියන්නේ. දැන් ඉතින් බය වෙන්න එපා අය්යෝ මේකත් කට පාඩම් කරන්න වෙයිද කියලා.එහෙම වෙන්නේ නැ. මොකද මේක ගැන අපිට වැඩක් නැ.හැබැයි දැනගෙන හිටියම ඇති. අදාළ අකුරු වලට මොනවද ASCII code කියලා දැනගන්න මෙතනට ගිහිල්ල බලලා එන්න.

ඉතින් මම උදාහරණයකට A ගන්නම්. A = 65 (ASCII code)

දැන් අපිට පුළුවන් A වල binary හොයන්න.
මෙන්න මෙහෙමයි හොයන්නේ.පොඩි කාලේ වගේ 2න් බෙදාගෙන බෙදාගෙන යන්නයි තියෙන්නේ.


                                                                   A bit = 1000001  
                                                                              7 bits

අපි මේක 8 bits වලට හැරෙව්වම    A = 01000001    --   >  8 bits

දැන් බලමු කොහමද binary එක A බවට පත් කරගන්නේ කොහමද කියලා.


What is a Variable  (Variable කියන්නේ මොනවද )

variable = වෙනස් වන දෙයකට තමයි අපි variable කියලා කියන්නේ.
නමුත් පරිගණක භාෂාවේදී variable යනු RAM එක මත රඳවා ගන්නා temporary memory allocation එකකටයි.

x = 100 
y = 50 
I = 25
x = 10
x = 0 
y = 25.9

මේවට තමයි variable කියලා කියන්නේ. මෙහි x , y , I කියන්නේ variable වේ. මේවයේ අගයන් 0 සිට අනන්තය දක්වා ලිවිය හැක.

Variable වර්ග 

Variable වර්ග ප්‍රධාන වශයෙන් කොටස් 2 ක් පවතී.මේවා ඒවාට අදාළ bites අනුව වර්ග කර ඇත.
1.Variable with Decimal points
2.Variable without Decimal points

  

තවත් variable 2 ක් තිබෙනවා 

Data Type Order

අපට මතක තියාගන්න වෙන්නේ මේවයේ අනුපිලිවෙලට මම එය පහලින් දාන්නම්.එයනම් කටපාඩමේ තියාගන්න වෙනවමයි. :D


 click on picture to enlarge 

compatible incompatible මම තව ඉදිරියේදී සාකච්චා කරනවා.දැනට මතක තියාගන්න.

හොඳයි දැන් අපි මේක practical කරලා බලමු.
ගන්න notepad

______________________________________
class Day2ass1  {
public static void main (String args[]) {

            //  variable declaration   allocte 8bits for x
  byte x ; 
          
           //  variable initialization
 x = 10 ;         

    System.out.println ( x )  ;

            }
    }

_____________________________________________

බලමු මෙතන මොකද වෙන්නේ කියලා.

x කියන variable එක byte data type එකක් විදියට මම මෙතන declare කරලා තියෙනවා.
(x byte ආකාරයේ data type එකක් නිසා x සඳහා ram එක මගින් ලබාගන්නා ඉඩ 8bite තරම් කුඩා වේ.)

ඊට පසුව x අදාලව 10 ක් initialization කරලා තියෙනවා.
දැන් x ව මම print කරනවා. 


ඉහත declaration එක සහ initialization කිරීම කර ඇත්තේ පේලි 2 කට වන සේ නේද. නමුත් මට එය මෙලෙසද ප්‍රකාශ කළ හැක.
_____________________________________________
class Day2ass2 {
public static void main (String args [ ] ) {

 byte x=10 ;
 
System.out.println(x) ;
        }
}

_____________________________________________

දැන් මේ වගුව අධ්‍යනය කරන්න.

මේ අභ්‍යාස අධ්‍යනය කරන්න.

_____________________________________________
class Day2ass3{
public static void main (String args[]) {

boolean b = true;   //   boolean යනු true හෝ false value ලබාදේ.
byte x=20;
short s= 56;
char c= 'A'  ;         //   single quote use only Charachters
int i=256 ;
long l=1611 ;
float f=25.5f ;
double d=56.32 ;
System.out.println(b);
System.out.println("........................");
System.out.println(x);
System.out.println("........................");
System.out.println(s);
System.out.println("........................");
System.out.println(c);
System.out.println("........................");
System.out.println(i);
System.out.println("........................");
       }
  }
_____________________________________________
output

_____________________________________________

public class Day2ass4{
public static void main (String args[]) {
byte x=128 ;         //this type cannot be done. error= "possible loss of precision"

System.out.println(x);

byte x=10 ;           // this type cannot be done. 'cause data declration doing up to down
        }
}

_____________________________________________

ප්‍රෝග්‍රෑම් එක රන් වෙන්නේ නිතරම උඩ සිට පහලට. up to bottom 
මේ රන් කරන කෙනාට කියන්නේ ප්‍රෝග්‍රෑම් කොන්ට්‍රොලර් කියලා. ( program controller )

මතක ඇති නේද data type order එක. බලන්න byte ට පුළුවන් උපරිම තියාගන්න 8bits ක් පමණි.මෙතන byte 128 bits තියාගෙන ඉන්නවා. ඒ කියන්නේ 128 අපට initialize කරන්න byte යොදා ගන්න බැහැ කියන එක.එහෙනන් byte ට වඩා වැඩි එත් එච්චරම වැඩි නොවන data type එකක් තෝරා ගත යුතුය.

බලන්න එන error එක මොකක්ද කියලා


required : byte
found : int
ඒ කියන්නේ අපි initialize කරපු value එක int value එකක්. නමුත් program controller ඉල්ලන්නේ byte value එකක්. එනිසා මෙතැනදී අපිට යොදාගත හැකි හොඳම data type එක int වේ.

public class Day2ass4{
public static void main (String args[]) {
 int x=128 ;         

System.out.println(x);

int x=10 ;           
        }
}

දැන් රන් කර බලන්න.
_____________________________________________
class Day2ass6{
public static void main (String args[]) {

// automatic type conversion

byte b=10; 
int i=b; 

System.out.println(i); 
}
  }


_____________________________________________
මේ වගේ program වලට කියන්නේ automatic type conversion කියලා.
_____________________________________________
public class Day2ass7{
public static void main (String args[]) {

int i=10 ; 
byte b=i ;      // error= possible loss of precision
System.out.println(b); 
}
}

_____________________________________________
ඔන්න මෙතැනදී තමයි අපි පරිස්සම් වෙන්න ඕන.
මම කිව්වනේ ප්‍රෝග්‍රෑම් එක රන් වෙන්නේ නිතරම උඩ සිට පහලට. up to bottom 
ඉතින් ඇයි මෙතන වරද. 
program controller මුලින් read කරන්නේ int data type එක පසුව byte Type එකක් read කරනවා.

මම ඉස්සෙල්ල කිව්වා නේද data type order එක ගැන. එහි අනුපිලිවෙලට program එකෙත් up to bottom තියෙනවනම් ඒ program එක compatible කියලා කියනවා. 
එත් කරුමෙට හරි අනුපිලිවෙල වෙනස් වෙන විදියට Program එකේ තිබුනොත් ප්‍රෝග්‍රෑම් කොන්ට්‍රොලර් ට මේ program එක incompatible වෙනවා.
ඒ නිසා මෙය error එකක් විදියට p c අපට කියනවා. 
මෙය මේ විදියටම තියාගෙන අපට නිවැරදි කරගැනීමේ ක්‍රමයක් තියෙනවා. 
එයට කියන්නේ casting කරනවා යනුයි.
එය මේ ආකාරයෙනුයි කරන්නේ.
_____________________________________________
public class Day2ass8{ 
public static void main (String args[]) {
int i=10; 
byte b=(byte) i ;     //casting  (byte size < int size)
System.out.println(b);  
}
}

_____________________________________________

හොඳයි මම හිතනවා අද අමාරුවක් වෙන එකක් නැ කියලා.කට්ටියම කරලා බලලා අමාරු තැන් මට කියන්න.
ලබන පාඩමෙන් හමුවෙමු