కోడ్జిమ్ - జావాలో ప్రోగ్రామింగ్ నేర్చుకోవడం
ప్రోగ్రామింగ్ని అధ్యయనం చేయడానికి మరియు విద్యను పొందడానికి పూర్తిగా కొత్త మార్గం ఎలా ఉంటుంది? మీరు ఇంతకు ముందు చూసినట్లుగా కనిపించడం లేదు. నేర్చుకోవడం ఎలా, మీకు లక్ష్యం, సాధనాలు మరియు ఫలితం ఎక్కడ ఉంది? జావా నేర్చుకోవడం కోసం కొత్త ఆన్లైన్ ప్రోగ్రామింగ్ కోర్సులను మీకు అందించడానికి నేను సంతోషిస్తున్నాను.1 శిక్షణ అనేది ఆన్లైన్ గేమ్
మీరు ఒక పనిని తీసుకోండి, దాన్ని అమలు చేయండి మరియు బహుమతిని పొందండి. ఇది మీకు స్పష్టంగా మరియు సాధారణమని నేను భావిస్తున్నాను. పనులు చాలా విభిన్నమైనవి: కోడ్ చదవడం, టాస్క్లను పరిష్కరించడం, వీడియోలు-పాఠాలు, కోడ్లోని లోపాలను సరిదిద్దడం, కొత్త ఫీచర్లను జోడించడం, పెద్ద పనులు, గేమ్లు రాయడం మరియు మరెన్నో.2 కేవలం అవసరమైనవి మాత్రమే
కోర్సు 5 సంవత్సరాలు కొనసాగకుండా ఉండటానికి, నేను అన్ని ఉపయోగకరమైన వాటిని విసిరివేసాను మరియు దాని నుండి చాలా అవసరమైన వాటిని మాత్రమే వదిలివేసాను. నేను లేబర్ మార్కెట్లో పదుల సంఖ్యలో ఖాళీలను విశ్లేషించాను. జావా జూనియర్ డెవలపర్ ఉద్యోగం పొందడానికి కొత్తవారు తెలుసుకోవలసిన అన్ని అంశాలు కోర్సులో చేర్చబడ్డాయి.3 నేను మీ శిక్షణను పూర్తిగా సంప్రదించాను
పూర్తి కోర్సులో 500 చిన్న ఉపన్యాసాలు మరియు 1200 (!) ప్రాక్టికల్ టాస్క్లు ఉంటాయి . పనులు చిన్నవి, కానీ అవి చాలా ఉన్నాయి. వాటిలో చాలా ఉన్నాయి. ఆ కనీసము, అలా చేస్తే, మీరు అటువంటి విలువైన అనుభవాన్ని పొందుతారు. జతలలో పని, వివిధ ఆటలు, పెద్ద పనులు, నిజమైన ప్రాజెక్టులు మరియు ఇతర రకాల అభ్యాసాలు కూడా ఉన్నాయి.4 మీరు గేమ్ను పూర్తి చేయలేరు మరియు డెవలపర్గా మారలేరు
కోర్సు 40 స్థాయిలను కలిగి ఉంటుంది. మీరు ప్రస్తుత స్థాయిలో ఎక్కువ టాస్క్లను పరిష్కరించినట్లయితే మాత్రమే మీరు తదుపరి స్థాయికి వెళ్లవచ్చు. కొద్దిగా మరియు సులభంగా ప్రారంభించి, పెద్ద మరియు చాలా ఉపయోగకరంగా ముగుస్తుంది. ముగింపుకు చేరుకున్న ప్రతి వ్యక్తికి 300-500 గంటల ఆచరణాత్మక అనుభవం లభిస్తుంది. మరియు ఇది గెలవడానికి గొప్ప అవకాశాన్ని ఇస్తుంది. మరియు ఉద్యోగం పొందడానికి.5 లక్ష్యం-ఆధారిత ఉద్యోగ ఇంటర్వ్యూ తయారీ
చివరి 10 స్థాయిలు రెజ్యూమ్ రాయడం, ఇంటర్వ్యూ కోసం ప్రిపరేషన్ మరియు టీమ్ వర్క్ నైపుణ్యాలను పొందడం కోసం అంకితం చేయబడ్డాయి. ఉద్యోగ ఇంటర్వ్యూలు మరియు వాటి విశ్లేషణల వీడియోలు జోడించబడతాయి. బాగా మరియు, ఖచ్చితంగా, సమాధానాలతో ఇంటర్వ్యూలో సాధారణ ప్రశ్నలు.6 మీరు సైట్లో నేరుగా పనులను పరిష్కరించవచ్చు
ఇది చాలా సులభ మరియు ప్రభావవంతమైనది. ఉపన్యాసంలో కొత్త పనిని విశ్లేషించిన తర్వాత, మీరు సైట్లో ఇక్కడే సారూప్యతతో మీ స్వంతం చేసుకోవాలి. IDEలో టాస్క్ చేయాలనుకునే వారికి ఒక ప్లగ్ఇన్ ఉంది, ఇది రెండు క్లిక్లలో టాస్క్ను స్వీకరించడానికి మరియు ఒకదానిలో చెక్ చేయడానికి దాన్ని అందజేయడానికి మిమ్మల్ని అనుమతిస్తుంది . ఉపన్యాసాలు, ఉదాహరణల విశ్లేషణ, వెబ్సైట్లో నేరుగా టాస్క్లను పరిష్కరించడం, IDEలో టాస్క్లను పరిష్కరించడం - సిద్ధాంతం మరియు అభ్యాసాల మధ్య అంతరం మునుపెన్నడూ లేనంతగా ఉంది.7 తక్షణ పని తనిఖీ (సెకను కంటే తక్కువ వ్యవధిలో)
మీరు తనిఖీ కోసం ఒక పని/పనిని అప్పగించినప్పుడు, దాన్ని తనిఖీ చేసే వ్యక్తి బిజీగా ఉన్నందున ఫలితాల కోసం ఒక వారం వేచి ఉండాల్సిన పరిస్థితి మీకు బాగా తెలుసా? చాలా ఆఫ్లైన్ కోర్సుల్లో ఇదే పరిస్థితి. కోడ్జిమ్లో మీరు "ఎగ్జిక్యూట్/చెక్" బటన్ను నొక్కిన తర్వాత, మీ టాస్క్ సొల్యూషన్ను ఒక సెకనులోపు కంపైల్ చేయడం మరియు తనిఖీ చేయడం వంటి ఫలితాలను పొందుతారు.8 మీరు చదువుతున్న సమయంలో Facebookలో సమయాన్ని వెచ్చించినప్పుడు CodeGym దీన్ని ఇష్టపడుతుంది
Facebookలో ప్రాజెక్ట్ కోసం అంకితమైన పేజీ ఉంది. ఇందులో మీరు ఆసక్తికరమైన సాంకేతిక కథనాలు, ప్రేరణాత్మక కథనాలు, కోడ్జిమ్ వార్తలు మరియు చాలా ఇతర ఉపయోగకరమైన సమాచారాన్ని కనుగొనవచ్చు.9 కవరేజ్
ఉపన్యాసాలలో వివిధ వెబ్సైట్లకు అనేక సూచనలు ఉన్నాయి, ఇక్కడ మీరు ఇతర లెక్చరర్ల వివరణలను చదవవచ్చు. నేను చెప్పేది మాత్రమే వినకుండా మీరు విషయాన్ని అర్థం చేసుకోవడమే నా లక్ష్యం.10 డెవలపర్ కావడానికి మీకు మీ మెదడు మరియు కంప్యూటర్ మాత్రమే అవసరం
మీరు ఎంత సమయం ప్రాక్టీస్ చేయాలి అనే దానిపై ఆధారపడి మీకు 3 నుండి 6 నెలల సమయం పడుతుంది.11 మద్దతు
మీరు వేలాది పనులను ఎదుర్కొన్నప్పుడు సందేహం లేదు. మేము ఒక ప్రత్యేక సేవను ఏర్పాటు చేసాము, ఇక్కడ మీరు టాస్క్ల గురించి ప్రశ్నలు అడగగలరు. ఇతర CodeGym-విద్యార్థులు, మోడరేటర్లు, వాలంటీర్లు మరియు సేవ యొక్క వ్యవస్థాపక సభ్యులు మీకు సమాధానం ఇస్తారు.12 సంఘం
ఐక్యతలోనే బలం ఉంటుందని నమ్ముతున్నాం. అందువల్ల మేము సంఘాన్ని సృష్టించాము, ఇక్కడ మీరు ప్రశ్నలు అడగవచ్చు; విభిన్న విషయాలను చర్చించండి, కథనాలను పంచుకోండి మరియు బ్లాగ్ చేయండి. అంతేకాకుండా, పరిచయంపై ఉద్యోగం పొందడానికి సంఘం అనువైన ప్రదేశం. అందువల్ల తెలివైన ప్రశ్నలు అడగడానికి సంకోచించకండి మరియు తెలివైన సమాధానాలు ఇవ్వండి. మీరు ఎంత చురుగ్గా ప్రవర్తిస్తే మరియు ఇతరులకు సహాయం చేస్తే, అసోసియేషన్లోని ఇతర సభ్యులు వారి ప్రాజెక్ట్లో చేరమని మీకు సూచించే అవకాశాలు ఎక్కువగా ఉంటాయి.మీరు కొత్త స్థాయికి చేరుకున్నారు
స్థాయి 2
1 ఎల్లీ, అందరికీ ఆధారం
- హే, అమిగో. ఈ రోజు నేను ఒక సాధారణ జావా ప్రోగ్రామ్ ఎలా నిర్మించబడిందో చెప్పాలనుకుంటున్నాను . విషయం ఏమిటంటే ప్రతి జావా ప్రోగ్రామ్లో తరగతులు మరియు వస్తువులు ఉంటాయి . - తరగతులు ఏమిటో నాకు ఇప్పటికే తెలుసు. మరియు వస్తువులు ఏమిటి? - ఒక చిన్న ఓడ నిర్మాణంతో సారూప్యతతో, మొదట, మీరు డ్రాయింగ్ తయారు చేయాలి, ఆపై దానిని షిప్యార్డ్కు ఇవ్వండి. ఈ డ్రాయింగ్ ఆధారంగా ఓడ సమావేశమవుతుంది. లేదా ఐదు ఓడలు. వాస్తవానికి, మీరు కోరుకున్నంత ఎక్కువ. ఒకే డ్రాయింగ్ ఆధారంగా డజన్ల కొద్దీ ఒకేలాంటి ఓడలు నిర్మించబడ్డాయి, దాని గురించి అంతే! - జావా ప్రోగ్రామింగ్లోని అన్ని విషయాలు సరిగ్గా ఒకే విధంగా ఉంటాయి. - ప్రోగ్రామర్ డిజైన్ ఇంజనీర్ లాంటివాడు. మరియు డిజైన్ ఇంజనీర్ డ్రాయింగ్లు చేయవలసి వస్తే, జావా ప్రోగ్రామర్ తరగతులు వ్రాయవలసి ఉంటుంది. అప్పుడు, డ్రాయింగ్ల ఆధారంగా భాగాలు తయారు చేయబడతాయి మరియు తరగతుల ఆధారంగా వస్తువులు తయారు చేయబడతాయి. - మొదట, మేము తరగతులను వ్రాస్తాము (డ్రాయింగ్లు చేస్తాము), ఆపై ప్రోగ్రామ్ రన్టైమ్లో, జావా వర్చువల్ మెషిన్ ఈ తరగతులను ఉపయోగించి వస్తువులను సృష్టిస్తుంది. కేవలం అదే విధంగా ఓడలు తయారు చేస్తారు. ఒక డ్రాయింగ్ మరియు చాలా ఓడలు ఉన్నాయి. వేర్వేరు పేర్లను కలిగి ఉన్న మరియు వివిధ సరుకులను తీసుకువెళ్లే వివిధ నౌకలు ఉన్నాయి. అయినప్పటికీ, అవి చాలా సమానంగా ఉంటాయి: అవన్నీ ఒకే నిర్మాణాన్ని కలిగి ఉంటాయి మరియు అదే పనులను చేయగలవు. - ఓడల విషయంలో, ప్రతిదీ స్పష్టంగా ఉంది. దాని గురించి సరిగ్గా అర్థం చేసుకోవడానికి నాకు మరికొన్ని పోలికలు ఇవ్వండి? - తప్పకుండా. ఉదాహరణకు, తేనెటీగలు ... - అరెరే, ఒక్క క్షణం ఆగండి, తేనెటీగలు నాకు ఏదో చెడ్డదాన్ని గుర్తు చేస్తాయి. ఒక పుట్ట గురించి బాగా ఆలోచించండి. - వస్తువు పరస్పర చర్యకు ఒక పుట్ట మంచి ఉదాహరణ. సరళమైన పుట్టలో, మూడు తరగతుల చీమలు ఉన్నాయి: రాణి, సైనికులు మరియు కార్మిక చీమలు. ప్రతి తరగతికి చీమల సంఖ్యలో తేడా ఉంటుంది. గూడులో రాణి ఒంటరిగా ఉంది; అక్కడ అనేక మంది సైనికులు మరియు వందల సంఖ్యలో పని చేసే చీమలు ఉన్నాయి. కాబట్టి, మూడు తరగతులు మరియు వందలాది వస్తువులు ఉన్నాయని మనం చెప్పగలం. చీమలు ఒకదానితో ఒకటి కమ్యూనికేట్ చేస్తాయి, అదే చీమలు మరియు ఇతర తరగతుల చీమలతో కఠినమైన నియమాల ప్రకారం. - ఇది ఒక ఖచ్చితమైన ఉదాహరణ. సాధారణ ప్రోగ్రామ్ కోసం, ఇది ఒకే విధంగా ఉంటుంది. ఒక ప్రధాన వస్తువు అన్ని ఇతర తరగతుల వస్తువులను సృష్టిస్తుంది. వస్తువులు ఒకదానితో ఒకటి సంకర్షణ చెందడం ప్రారంభిస్తాయి మరియు ప్రోగ్రామ్ యొక్క "బాహ్య ప్రపంచం". వస్తువుల ప్రవర్తన వాటి లోపల హార్డ్కోడ్ చేయబడింది. - నాకు పూర్తిగా అర్థం కాలేదు. బదులుగా, అస్సలు అర్థం కాలేదు. - ఈ రెండు వివరణలు ఒకే నాణెం యొక్క విభిన్న భుజాలు. నిజం ఎక్కడో మధ్యలో ఉంది. మొదటి ఉదాహరణ (డ్రాయింగ్ మరియు షిప్లతో కూడినది) తరగతి మరియు ఈ తరగతి వస్తువుల మధ్య సంబంధాన్ని చూపుతుంది. సారూప్యత చాలా దగ్గరగా ఉంది. రెండవ ఉదాహరణ (చీమతో కూడినది) రన్టైమ్లో ఉన్న లిఖిత తరగతులు మరియు వస్తువుల మధ్య సంబంధాన్ని చూపుతుంది. - ముందుగా ప్రోగ్రామ్లో ఉన్న అన్ని ఆబ్జెక్ట్ల కోసం క్లాస్లు రాయాలని మీ ఉద్దేశ్యం మరియు ఇంకా ఏమి ఉంది, వాటి పరస్పర చర్యను వివరించండి? - అవును, కానీ అది కనిపించే దానికంటే సులభం. జావాలో, ప్రోగ్రామ్ రన్టైమ్లోని అన్ని విషయాలు వస్తువులు మరియు మీరు ప్రోగ్రామ్ను వ్రాసేటప్పుడు, మీరు ఆబ్జెక్ట్ ఇంటరాక్షన్ యొక్క వివిధ మార్గాలను వివరించాలి. వస్తువులు ఒకదానికొకటి పద్ధతులను కాల్ చేస్తాయి మరియు వాటికి అవసరమైన డేటాను పంపుతాయి. - ఇది స్పష్టంగా లేదు, కానీ దాదాపు స్పష్టంగా ఉంది. - అయితే మీరు ఏ పద్ధతులకు కాల్ చేయాలో మరియు ఏ డేటాను పద్ధతులకు పాస్ చేయాలో మీకు ఎలా తెలుసు? - తరగతి దేని కోసం సృష్టించబడిందో పేర్కొనడానికి ప్రతి తరగతికి దాని వివరణ ఉంటుంది. ప్రతి పద్ధతికి అదే విధంగా అది ఏమి చేస్తుంది మరియు దానికి ఏ డేటా పంపాలి అనే దాని వివరణ ఉంటుంది. తరగతిని ఉపయోగించడానికి, అది ఏమి చేస్తుందో మీరు సాధారణంగా తెలుసుకోవాలి. అంతేకాకుండా, ఈ తరగతిలోని ప్రతి పద్ధతి ఏమి చేస్తుందో మీరు ఖచ్చితంగా తెలుసుకోవాలి. కానీ అది ఎలా జరిగిందో మీరు తెలుసుకోవలసిన అవసరం లేదు . ఒక రకం ఐన మాయ. - హంఫ్. అలా అనిపిస్తోంది. - ఇక్కడ, ఫైల్ను కాపీ చేసే క్లాస్ కోడ్ను చూడండి: - ఇది అంత సులభం కాదు, కానీ నేను ఇప్పటికే చిత్రాన్ని పొందాను. - బాగానే ఉంది. తర్వాత కలుద్దాం, ఎలిగేటర్!2 రిషా, వేరియబుల్స్ మరియు ఆదిమ రకాలు
- హే మీరు, ఉచిత లేబర్. - నా ఉద్దేశ్యం, "హాయ్, అమిగో". వేరియబుల్స్ యొక్క అంతర్గత నిర్మాణంతో నేను మిమ్మల్ని పరిచయం చేయాలనుకుంటున్నాను. ప్రతి వేరియబుల్ దానితో అనుబంధించబడిన మెమరీ భాగాన్ని కలిగి ఉందని మీకు ఇప్పటికే తెలుసు , ఇక్కడ వేరియబుల్ దాని విలువను నిల్వ చేస్తుంది. - అవును. మీరు చివరిసారి చెప్పారు. - బాగానే ఉంది. మీరు గుర్తు పెట్టుకోవడం మంచి విషయం. అప్పుడు నేను కొనసాగిస్తాను. - తరగతులు . మేము ప్రోగ్రామ్లో కొత్త తరగతిని వివరించినప్పుడు, మేము కొత్త సంక్లిష్ట సమ్మేళనం రకాన్ని ప్రకటిస్తామని దీని అర్థం , ఆ డేటా ఇతర సంక్లిష్ట రకాలు లేదా ఆదిమ రకాలుగా ఉంటుంది. - ఇది ఇప్పటికీ ఒక అద్భుతం కోసం స్పష్టంగా ఉంది. - పెద్ద (సంక్లిష్ట) రకాలు చాలా చిన్నవి (ఆదిమ) కలిగి ఉంటాయి కాబట్టి, వాటి వస్తువులు చాలా మెమరీని ఉపయోగిస్తాయి. సాధారణ ఆదిమ రకం వేరియబుల్స్ కంటే ఎక్కువ. కొన్నిసార్లు చాలా ఎక్కువ. సంక్లిష్ట రకాల వేరియబుల్ల కేటాయింపు చాలా సమయం పట్టింది మరియు పెద్ద మొత్తంలో మెమరీని కాపీ చేయడం అవసరం. అందుకే కాంప్లెక్స్ టైప్ వేరియబుల్స్ ఆబ్జెక్ట్ని కాకుండా కేవలం ఆబ్జెక్ట్ రిఫరెన్స్ను నిల్వ చేస్తాయి (అది నాలుగు-బైట్ అడ్రస్). ఆబ్జెక్ట్ డేటాను యాక్సెస్ చేయడానికి ఇది సరిపోతుంది. JVM దానికి సంబంధించిన అన్ని ఇబ్బందులను తీసుకుంటుంది. - నాకు అర్థం కాలేదు. - వేరియబుల్ ఒక పెట్టె లాంటిదని మేము ఇప్పటికే చర్చించాము. అందులో 13ని భద్రపరచడానికి, మీరు ఒక కాగితంపై సంఖ్యను వ్రాసి ఒక పెట్టెలో ఉంచవచ్చు. - ఇప్పుడు మీరు ఒక పెట్టెలో (వేరియబుల్) కొంచెం పెద్దదిగా నిల్వ చేయాలని ఊహించుకోండి. ఉదాహరణకు, కుక్క, కారు లేదా మీ పొరుగు జో. కాబట్టి సులభతరం చేయడానికి మీరు ఒక సులభమైన పనిని చేయవచ్చు: కుక్కకు బదులుగా కుక్క చిత్రం, కారుకు బదులుగా కారు నంబర్ ప్లేట్ మరియు జోకు బదులుగా జో ఫోన్ నంబర్ను కాగితంపై రాసి ఉంచండి. - ఇప్పుడు మనం కాగితం ముక్క తీసుకొని దానిపై జో ఫోన్ నంబర్ను వ్రాస్తాము. ఇది ఆబ్జెక్ట్ రిఫరెన్స్ లాంటిది. మేము పెట్టెలో నుండి జో నంబర్ వ్రాసిన షీట్ తీసి, కాపీలను తయారు చేసి, రెండు పెట్టెల్లో ఉంచినట్లయితే, జోకు సంబంధించిన సూచనలు పెరుగుతాయి, కానీ ఒక్క జో మాత్రమే ఉండవచ్చు. - అటువంటి డేటా నిల్వ యొక్క ప్రయోజనం ఏమిటంటేఅనేక సూచనలు మరియు ఒక వస్తువు మాత్రమే ఉండవచ్చు . - ఇది ఉత్తేజకరమైనది. మార్గం ద్వారా, నేను దాదాపు అర్థం చేసుకున్నాను. మరో ప్రశ్నకు మాత్రమే సమాధానం ఇవ్వండి: నేను కాంప్లెక్స్ టైప్ వేరియబుల్ని మరొక కాంప్లెక్స్ టైప్ వేరియబుల్కి కేటాయిస్తే ఏమి జరుగుతుంది? - అప్పుడు ఈ రెండు వేరియబుల్స్ ఒకే చిరునామాను కలిగి ఉంటాయి. అందువల్ల, మీరు ఒక సంక్లిష్ట రకం వేరియబుల్లో నిల్వ చేసిన డేటాను మార్చినట్లయితే, మరొక దాని డేటా కూడా మార్చబడుతుంది . మీకు తెలిసినందున , వేరియబుల్స్ స్టోర్ రిఫరెన్స్లు నిజంగా ఒకే ఒక వస్తువు మాత్రమే . అయినప్పటికీ, వస్తువుకు సూచనలను నిల్వ చేసే అనేక వేరియబుల్స్ ఉండవచ్చు. - మరియు ఆబ్జెక్ట్ రిఫరెన్స్లు లేనప్పుడు కాంప్లెక్స్ టైప్ వేరియబుల్స్ (రిఫరెన్స్/క్లాస్ టైప్)లో ఏది స్టోర్ చేయబడుతుంది? అలాంటిది నిజంగా ఉంటుందా? - అవును, అమిగో. మీరు నా నోటి నుండి పదాలను బయటకు తీశారు. అది కావచ్చు. రిఫరెన్స్ (కాంప్లెక్స్) టైప్ వేరియబుల్లో ఆబ్జెక్ట్ రిఫరెన్స్ లేకపోతే, అది శూన్యాన్ని నిల్వ చేస్తుంది , ప్రత్యేక «శూన్య సూచన». వాస్తవానికి, ఇది కేవలం 0కి సమానమైన ఆబ్జెక్ట్ యొక్క చిరునామాను నిల్వ చేస్తుంది. కానీ జావా వర్చువల్ మెషిన్ ఎప్పుడూ సున్నా చిరునామాతో వస్తువులను సృష్టించదు, కాబట్టి రిఫరెన్స్ వేరియబుల్ 0 అయితే, అక్కడ ఏ వస్తువు ఉండదని ఎల్లప్పుడూ తెలుసు. నేను సరిగ్గా అర్థం చేసుకుంటానా? వేరియబుల్స్ రెండు రకాలుగా విభజించబడ్డాయి - ఆదిమ మరియు సూచన. ప్రిమిటివ్ టైప్ వేరియబుల్ విలువను నిల్వ చేస్తుంది, అయితే రిఫరెన్స్ టైప్ వేరియబుల్ ఆబ్జెక్ట్ రిఫరెన్స్ను నిల్వ చేస్తుంది. ఆదిమ రకాలు Int, char, boolean మరియు మరికొన్ని. మిగిలినవి రిఫరెన్స్ వేరియబుల్స్, అవి తరగతులను ఉపయోగించి ఏర్పడతాయి. - అది నిజం, అబ్బాయి.3 ఎల్లీ, ఏ వస్తువులు
- ఇదిగో మీకు ఇష్టమైన ఉపాధ్యాయుడు మళ్ళీ. మేము వేగంగా ముందుకు వెళ్తాము కాబట్టి, ఏ వస్తువులు మరియు వాటితో ఎలా వ్యవహరించాలో నేను మీకు చెప్తాను. - ఏదైనా వస్తువును సృష్టించడానికి, మీరు ఆబ్జెక్ట్ రకం పేరు (తరగతి) మరియు దాని ముందు కొత్త కీవర్డ్ని వ్రాయాలి . మాకు క్లాస్ క్యాట్ ఉందని చెప్పండి, అప్పుడు: - మీరు ఒక వస్తువును సృష్టించి, దానిని [దాని సూచన] ఏదైనా వేరియబుల్కు కేటాయించకపోతే ఏమి జరుగుతుంది? - మీరు అలా చేస్తే, జావా వర్చువల్ మెషిన్ ఆబ్జెక్ట్ను సృష్టించి వెంటనే దానిని చెత్తగా (ఉపయోగించని వస్తువు) ప్రకటిస్తుంది. కొంతకాలం తర్వాత, చెత్త సేకరణ సమయంలో అది ఆ వస్తువును తొలగిస్తుంది. - నాకు ఇకపై వస్తువు అవసరం లేకపోతే నేను దానిని ఎలా నాశనం చేయగలను? - మీరు చేయలేరు.ఆబ్జెక్ట్ రిఫరెన్స్ను నిల్వ చేయడానికి వేరియబుల్ లేన వెంటనే, ఆ వస్తువు చెత్తగా ఫ్లాగ్ చేయబడుతుంది మరియు తదుపరి చెత్త సేకరణ సమయంలో JVM దానిని నాశనం చేస్తుంది. కనీసం ఒక వస్తువు సూచన ఉన్నంత వరకు, అది ప్రత్యక్షంగా పరిగణించబడుతుంది మరియు నాశనం చేయబడదు. మీరు ఆబ్జెక్ట్ను త్వరగా నాశనం చేయాలనుకున్నప్పుడు, దాని అన్ని సూచనలను శూన్యంగా సెట్ చేయండి, అంటే ఆ వస్తువును సూచించే అన్ని వేరియబుల్స్కు శూన్య విలువను కేటాయించండి. - దొరికింది. మునుపటి ఉపన్యాసాల తర్వాత ఇది అస్సలు కష్టం కాదు. - సరే, మీ నైపుణ్యాలను మెరుగుపరచుకోవడానికి ఇక్కడ కొన్ని టాస్క్లు ఉన్నాయి. ఇవి System.outలో కూడా ఉన్నాయి. కానీ తరువాత మరింత కష్టతరమైనది. మరియు మీరు తయారు చేసిన ఉక్కును మీరు మాకు చూపించగలరు.పనులు | |
---|---|
1 | ప్రదర్శించే ప్రోగ్రామ్ను వ్రాయండి: "దశల వారీగా మరియు పని పూర్తయింది.". |
2 | 7 సార్లు ప్రదర్శించే ప్రోగ్రామ్ను వ్రాయండి: "అసాధ్యమైన వాటిని చేయడం చాలా సరదాగా ఉంటుంది." |
3 | ప్రదర్శించే ప్రోగ్రామ్ను వ్రాయండి: "ఎల్లప్పుడూ ఉపయోగకరమైనది నేర్చుకోవాలనే కోరిక." |
4 రిషా, వేరియబుల్స్ యొక్క దృశ్యమానత.
- హాయ్, నా అభిమాన విద్యార్థి. ఇప్పుడు నేను వేరియబుల్స్ యొక్క దృశ్యమానత గురించి మీకు చెప్తాను . - ఎందుకు, అదృశ్య వేరియబుల్స్ కూడా ఉన్నాయా? - లేదు, వేరియబుల్ని యాక్సెస్ చేయగల కోడ్లో వేరియబుల్స్ కనిపిస్తాయి. కొన్ని వేరియబుల్స్ని ప్రోగ్రామ్లో ఎక్కడి నుండైనా యాక్సెస్ చేయవచ్చు, మరికొన్ని వాటి క్లాస్లో మాత్రమే యాక్సెస్ చేయబడతాయి మరియు కొన్ని వేరియబుల్స్ ఒక పద్ధతిలో మాత్రమే యాక్సెస్ చేయబడతాయి. - ఉదాహరణకు, మీరు వేరియబుల్ని ప్రకటించే ముందు దాన్ని సూచించలేరు. - అది స్పష్టమైనది. - ఇక్కడ కొన్ని ఉదాహరణలు ఉన్నాయి: 1 ఒక పద్ధతిలో డిక్లేర్ చేయబడిన వేరియబుల్ డిక్లరేషన్ ప్రారంభం నుండి పద్ధతి ముగింపు వరకు ఉంది / కనిపిస్తుంది. 2 కోడ్ బ్లాక్లో ప్రకటించబడిన వేరియబుల్ ఈ కోడ్ బ్లాక్ చివరి వరకు ఉంటుంది. 3 వేరియబుల్స్ - మెథడ్ ఆర్గ్యుమెంట్లు - పద్ధతి యొక్క పరిధిలో ఎక్కడైనా ఉంటాయి. 4 క్లాస్ / ఆబ్జెక్ట్స్ వేరియబుల్స్ వాటి ఆబ్జెక్ట్ యొక్క మొత్తం జీవితకాలంలో ఉంటాయి. పబ్లిక్ మరియు ప్రైవేట్ ప్రత్యేక యాక్సెస్ మాడిఫైయర్లు వాటి దృశ్యమానతను నియంత్రిస్తాయి. ప్రోగ్రామ్ రన్టైమ్లో 5 స్టాటిక్ క్లాస్ వేరియబుల్స్ ఉన్నాయి. యాక్సెస్ మాడిఫైయర్లు వాటి దృశ్యమానతను కూడా నిర్ణయిస్తాయి. - నేను చిత్రాలను ప్రేమిస్తున్నాను, ప్రతిదీ స్థానంలోకి వస్తుంది. - మీకు మంచిది, అమిగో. మీరు తెలివైన వ్యక్తి అని ఎల్లప్పుడూ తెలుసు. - యాక్సెస్ మాడిఫైయర్ల గురించి కూడా నేను మీకు చెప్తాను . అంత భయపడకండి, ఇది రాకెట్ సైన్స్ కాదు. ఇవి మీరు చూసే పబ్లిక్ మరియు ప్రైవేట్ పదాలు . - నేను భయపడను, ఇక్కడ చల్లగా ఉంది. - అవును ఖచ్చితంగా. మీరు ఇతర తరగతుల నుండి మీ తరగతిలోని పద్ధతులు మరియు వేరియబుల్స్ యాక్సెస్ (విజిబిలిటీ)ని నియంత్రించవచ్చు. ప్రతి పద్ధతి లేదా వేరియబుల్ కోసం, మీరు ఒక యాక్సెస్ మాడిఫైయర్ను మాత్రమే పేర్కొనవచ్చు. 1 మాడిఫైయర్ పబ్లిక్ మాడిఫైయర్ పబ్లిక్తో ఫ్లాగ్ చేయబడిన వేరియబుల్, మెథడ్ లేదా క్లాస్ ప్రోగ్రామ్లో ఎక్కడి నుండైనా యాక్సెస్ చేయవచ్చు. ఇది పరిమితి లేకుండా, బహిరంగత యొక్క అత్యధిక స్థాయి. 2 మాడిఫైయర్ ప్రైవేట్ మాడిఫైయర్ ప్రైవేట్తో ఫ్లాగ్ చేయబడిన వేరియబుల్ లేదా మెథడ్ డిక్లేర్ చేయబడిన క్లాస్ నుండి మాత్రమే యాక్సెస్ చేయబడుతుంది. అన్ని ఇతర తరగతులకు, ఫ్లాగ్ చేయబడిన పద్ధతి లేదా వేరియబుల్ ఉనికిలో లేనట్లుగా కనిపించదు. ఇది క్లోజ్నెస్లో అత్యధిక స్థాయి (ఒకే తరగతి నుండి మాత్రమే కనిపిస్తుంది). 3 మాడిఫైయర్ డిఫాల్ట్ ఏదైనా మాడిఫైయర్ వేరియబుల్ లేదా పద్ధతిని ఫ్లాగ్ చేయకపోతే, అది మాడిఫైయర్ డిఫాల్ట్గా పరిగణించబడుతుంది. ఆ మాడిఫైయర్తో వేరియబుల్స్ లేదా మెథడ్స్ (అంటే, ఏదీ లేకుండా) అవి డిక్లేర్డ్ చేయబడిన ప్యాకేజీలోని అన్ని తరగతులకు కనిపిస్తాయి. ఒకే ప్యాకేజీలో మాత్రమే. ఈ మాడిఫైయర్ని కొన్నిసార్లు ప్యాకేజీ అని పిలుస్తారు, వేరియబుల్స్ మరియు మెథడ్స్కి యాక్సెస్ మొత్తం ప్యాకేజీకి సాధ్యమవుతుందని సూచించడానికి, వారి తరగతి వివరణ ట్యాబ్కు చెందినది:5 డియెగో, వేరియబుల్స్ సమూహాన్ని సృష్టించడానికి టాస్క్లు
- హే, మిత్రమా. అవసరమైతే, నేను మీ కోసం ఒప్పందం కాపీని ఉంచుతాను. ఆ స్నీకీ చీప్స్కేట్ రిషా ఆనందంగా తెలియదు. మీరు నా ఒప్పందంలోని మొత్తాలను చూసి ఉండాలి. హే, హే. - బాగా చేసారు, డియెగో. మీరు నాకు నిజమైన ఉపయోగకరమైన విషయాలను బోధిస్తారని నేను భావిస్తున్నాను. - ఖచ్చితంగా, అమిగో. నొప్పి లేకుండా లాభం లేదు. కానీ ఇప్పటికీ ఎవరైనా లాభం లేకుండా నొప్పిని అనుభవిస్తారు. - చదువుకోవడానికి చేయి తిరిగితే మంచిది. ఇప్పుడు నేను వివిధ మార్గాల్లో వేరియబుల్స్ సమూహాన్ని ఎలా సృష్టించాలో మీకు చూపుతాను: - వావ్, డియెగో! నువ్వు చాలా తెలివైనవాడివి. - హే, హే! ధన్యవాదాలు, అమిగో. - మీరు ఇప్పటికే నా పనులను కోల్పోయారని నేను భావిస్తున్నాను. కాబట్టి వాటిలో కొన్ని ఇక్కడ ఉన్నాయి. ఆ మనుషులకు, గ్రహాంతరవాసులకు మన రోబో జీవితం గురించి ఏమీ తెలియదు. అది నేను తప్ప ఎవరు నేర్పుతారు?పనులు | |
---|---|
1 | 3 సార్లు ప్రదర్శించే ప్రోగ్రామ్ను వ్రాయండి: "చాలా మంది వ్యక్తులు జీవించి ఉన్నారు ఎందుకంటే వారిని కాల్చడం చట్టవిరుద్ధం." |
2 | ప్రదర్శించే ప్రోగ్రామ్ను వ్రాయండి: "నాకు మీ అభిప్రాయం కావాలంటే, అవసరమైన ఫారమ్లను పూరించమని నేను మిమ్మల్ని అడుగుతాను.". |
3 | 20 సార్లు ప్రదర్శించే ప్రోగ్రామ్ను వ్రాయండి: "నేను చెప్పిన చాలా విషయాలు నేను ఎప్పుడూ చెప్పలేదు." |
6 ఎల్లీ, పాసింగ్ బై రెఫరెన్స్. సూచన వేరియబుల్స్
- హే, అమిగో, ఇది మళ్ళీ నేనే, ఎల్లీ. క్షమించండి, నేనెప్పుడూ ఇలా చెబుతుంటాను, కానీ ఇది 31వ శతాబ్దంలో భూమిపై జరిగే పనులు. నేను మీకు రిఫరెన్స్ వేరియబుల్స్ యొక్క లక్షణాలు మరియు రెఫరెన్షియల్ ఆర్గ్యుమెంట్లను ఫంక్షన్లకు (పద్ధతులు) ఎలా పాస్ చేయాలో వివరిస్తాను. - నేను సిద్ధం. - అయితే, రిఫరెన్స్ వేరియబుల్స్ అనేది ఆదిమ వాటిని మినహాయించి అన్ని రకాల వేరియబుల్స్. ఈ వేరియబుల్స్ ఆబ్జెక్ట్ (ఆబ్జెక్ట్ రిఫరెన్స్) చిరునామాను మాత్రమే కలిగి ఉంటాయి. - ఆదిమ రకాల వేరియబుల్స్ విలువ మరియు రకాన్ని నిల్వ చేస్తాయి మరియు క్లాస్ వేరియబుల్స్ అదే తరగతి, బాగా లేదా శూన్య వస్తువులకు సూచనలను నిల్వ చేస్తాయి. నేను సరైనదేనా? - ఖచ్చితంగా. - కాబట్టి, సూచన ఏమిటి? - ఆబ్జెక్ట్ మరియు దాని రిఫరెన్స్ లింక్ చేయబడ్డాయి, మనిషి మరియు అతని ఫోన్ నంబర్ లాగా చెప్పుకుందాం. ఫోన్ నంబర్ అనేది మనిషి కాదు, కానీ అది మనిషిని ఏదైనా అడగడానికి, మార్గనిర్దేశం చేయడానికి లేదా అతనికి కమాండ్ చేయడానికి కాల్ చేయడానికి ఉపయోగించవచ్చు. ఒక వస్తువుతో పరస్పర చర్య చేయడానికి కూడా సూచన ఉపయోగించబడుతుంది. అన్ని వస్తువులు సూచనల ద్వారా ఒకదానితో ఒకటి సంకర్షణ చెందుతాయి. - ప్రజలు ఫోన్లో ఒకరితో ఒకరు కమ్యూనికేట్ చేసుకున్నట్లుగా ఉందా? - అది నిజమే. మీరు ఆదిమ వస్తువును కేటాయించినప్పుడు, దాని విలువ కాపీ చేయబడుతుంది (నకిలీ చేయబడింది). మీరు రిఫరెన్స్ వేరియబుల్ను కేటాయించినప్పుడు, ఆబ్జెక్ట్ అడ్రస్ (ఫోన్ నంబర్) మాత్రమే కాపీ చేయబడుతుంది మరియు ఆబ్జెక్ట్ కాదు. - ఓకే, నాకు అర్థమైంది. - ఒక సూచన మరొక ప్రయోజనాన్ని అందిస్తుంది: మీరు ఏదైనా పద్ధతికి ఆబ్జెక్ట్ రిఫరెన్స్ను పాస్ చేయవచ్చు మరియు ఈ పద్ధతి మా ఆబ్జెక్ట్ను దాని పద్ధతులకు కాల్ చేయడం ద్వారా మరియు ఆబ్జెక్ట్లోని డేటాను యాక్సెస్ చేయడం ద్వారా దాని సూచనను ఉపయోగించి సవరించగలదు (మార్చడం). - వేరియబుల్స్ a & b విలువలు స్వాప్ పద్ధతిలో పరస్పరం మార్చబడతాయి . మీరు స్వాప్ పద్ధతిని కాల్ చేసినప్పుడు, వేరియబుల్స్ a & b విలువలు m & n యొక్క కాపీలను స్వీకరిస్తాయి . కాబట్టి, మీరు a & b విలువలను మార్చినప్పుడు m & n వేరియబుల్స్ విలువలు అలాగే ఉంటాయి . ఇది కుడి కాలమ్ కోడ్లో స్పష్టంగా కనిపిస్తుంది. - నిజం చెప్పాలంటే, నాకు ఏమీ లేదు. నేను మరికొన్ని ఉదాహరణలు చెప్పవచ్చా? - రిఫరెన్స్ రకం విషయంలో, మీరు ఇలా చేయవచ్చు: - వేరియబుల్స్ a మరియు b వరుసగా ఎమ్మా మరియు ఆలిస్లకు రిఫరెన్స్లు కేటాయించబడతాయి, a మరియు b విలువలు ఎమ్మా మరియు ఆలిస్లలో మారుతాయి. - కాబట్టి ఇతర తరగతులలో కూడా తరగతులను ప్రకటించడం సాధ్యమేనా? వావ్! - మిగిలిన వాటి విషయానికొస్తే, ఇది స్పష్టంగా లేదు. - అన్నీ ఒకే సమయంలో కాదు.7 ఎల్లీ, ఫంక్షన్ కాల్, రిటర్న్ విలువ
- సరే, అప్పుడు తిరుగుదాం. మెథడ్ కాల్ ఎలా పని చేస్తుందనే దాని గురించి మేము మాట్లాడుతాము, ఆపై మీరు మునుపటి ఉపన్యాసాన్ని చూసేందుకు మళ్లీ ప్రయత్నించండి, సరేనా? - ఒప్పందం! - సరే, అప్పుడు నేను మీకు ఫంక్షన్/మెథడ్ కాల్ మరియు తిరిగి వచ్చిన విలువల గురించి చెబుతాను. - ఆదేశాలు ఫంక్షన్లుగా వర్గీకరించబడ్డాయి, కాబట్టి మీరు వాటిని ఒక కాంప్లెక్స్ కమాండ్గా ఒకే బ్లాక్లో అమలు చేయవచ్చు. దీన్ని చేయడానికి, మీరు ఫంక్షన్ (పద్ధతి) పేరును వ్రాయాలి మరియు పేరును అనుసరించి కుండలీకరణాల్లో విలువలు మరియు పారామితులను పేర్కొనండి. - పై ఉదాహరణలో, మేము పాస్ చేసిన స్ట్రింగ్ను 4 సార్లు ప్రదర్శించే ఫంక్షన్ని వ్రాసాము. అప్పుడు మేము పంక్తి 6లో ఫంక్షన్ print4 అని పిలుస్తాము . - లైన్ 6 అమలు విషయానికి వస్తే, ప్రోగ్రామ్ 9 వ పంక్తికి చేరుకుంటుంది మరియు s వేరియబుల్కు "నేను దానిని తరలించాలనుకుంటున్నాను, దానిని తరలించాలనుకుంటున్నాను" అనే విలువను కేటాయించబడుతుంది. - అప్పుడు 11-14 పంక్తులు అమలు చేయబడతాయి మరియు చివరకు, ఫంక్షన్ పూర్తవుతుంది మరియు ప్రోగ్రామ్ లైన్ 7తో కొనసాగుతుంది. - గోట్చా. - మీరు ఫంక్షన్కు ఆర్గ్యుమెంట్లను (పారామితులు) పాస్ చేయడమే కాకుండా, ఫంక్షన్ యొక్క ఆపరేషన్ యొక్క ఫలితాన్ని (విలువ) కూడా తిరిగి ఇవ్వవచ్చు. ఇది కీవర్డ్ రిటర్న్ ఉపయోగించి చేయబడుతుంది. ఇది ఎలా ఉంటుందో ఇక్కడ ఉంది: - నేను దానిని పట్టుకుంటున్నానని అనుకుంటున్నాను. ఇది ఎడమ మరియు కుడి వైపున ఒకే కోడ్. ఎడమ వైపున, ఇది కేవలం ప్రత్యేక ఫంక్షన్గా ప్రదర్శించబడుతుంది. - ఫంక్షన్ విలువను లెక్కిస్తుంది మరియు రిటర్న్ ఆదేశాన్ని ఉపయోగించి కాల్ చేసిన వారికి పంపుతుంది. కనీసం నేను అలా అనుకుంటున్నాను. - ప్రాథమికంగా, ఇది నిజం. - మరియు శూన్య రకం ఏమిటి? - కొన్ని ఫంక్షన్లు ఏదో ఒకటి చేస్తాయి, కానీ మా మెథడ్ మెయిన్ వంటి ఏ విలువలను లెక్కించి తిరిగి ఇవ్వవద్దు().ఆ ఫంక్షన్ల కోసం ఇది ఒక ప్రత్యేక ఫలితం రకం శూన్యం (ఖాళీ రకం) సృష్టించబడింది . - ఒక ఫంక్షన్ ఏదైనా తిరిగి ఇవ్వకపోతే మనం దేనినీ ఎందుకు పేర్కొనలేము? - ప్రతి వేరియబుల్ ఎలా ప్రకటించబడుతుందో ఆలోచించండి: రకం మరియు పేరు. ఒక ఫంక్షన్ రకం, పేరు మరియు కుండలీకరణాలతో ప్రకటించబడింది. కుండలీకరణాలు తర్వాత ఫంక్షన్ పేరు ఒక ఫంక్షన్ కాల్! - కాబట్టి ఫంక్షన్లను రెండు వర్గాలుగా విభజించడం కంటే "ఖాళీ రకం"తో ముందుకు రావడం సులభం, విలువను తిరిగి ఇచ్చేవి మరియు విలువను తిరిగి ఇవ్వలేదా? - సరిగ్గా! నువ్వు త్వరగా ఆలోచించేవాడివి, నా అబ్బాయి. - మరియు నేను ఖాళీ రకాన్ని ఎలా తిరిగి ఇవ్వగలను? - మీరు చేయలేరు. ఇది ఎలా పని చేస్తుందో ఇక్కడ ఉంది: JVM రిటర్న్ను అమలు చేసినప్పుడుకమాండ్, ఇది రిటర్న్ అనే పదం యొక్క కుడి వైపున ఉన్న వ్యక్తీకరణ యొక్క విలువను లెక్కిస్తుంది, ఆ విలువను ప్రత్యేక మెమరీ ప్రాంతంలో నిల్వ చేస్తుంది మరియు వెంటనే ఫంక్షన్ నుండి నిష్క్రమిస్తుంది . ఇది ఫంక్షన్ కాల్ చేయబడిన స్థలంలో ఫంక్షన్ కాల్ ఫలితంగా సేవ్ చేయబడిన విలువను ఉపయోగిస్తుంది. మీరు పై ఉదాహరణలో చూడవచ్చు. - మీ ఉద్దేశ్యం int m = min(a,b) m = m2 గా రూపాంతరం చెందిన ప్రదేశమా ? - అవును. ఫంక్షన్ కాల్ తర్వాత ప్రతిదీ ఫంక్షన్కు బదులుగా దాని ఫలితం అదే స్థలంలో వ్రాయబడినట్లుగా పని చేస్తూనే ఉంటుంది. ఆ వాక్యాన్ని మరోసారి చదివి, చివరి ఉదాహరణ కోడ్ని చూడండి. - ఇది చాలా సులభం అనిపిస్తుంది, కానీ వాస్తవానికి ఇది కష్టం. నాకు కొంచెం వచ్చింది, అంతే. - పర్వాలేదు.మొదటి ప్రయత్నంలో మీరు ఇప్పటికే తెలిసిన వాటిని మాత్రమే అర్థం చేసుకోగలరు. మీరు మీ కోసం ఎంత ఎక్కువ కొత్త ప్రాంతంలోకి ప్రవేశించారో, అది అస్పష్టంగా ఉంటుంది. మరియు ఫలితం మరింత అద్భుతంగా ఉంటుంది. సమయం గడిచేకొద్దీ, ప్రతిదీ స్పష్టమవుతుంది. - సరే, అలా అయితే, కొనసాగిద్దాం.8 డియెగో
- హే, అమిగో. మీ కోసం ఇక్కడ కొన్ని టాస్క్లు ఉన్నాయి. ఇప్పుడు మీరు System.out కంటే ఎక్కువ ఏదైనా చేయగలరు. మీ వంతు కృషి చేయండి! నేను నిన్ను నమ్ముతున్నాను!పనులు | |
---|---|
1 | కనిష్ట రెండు సంఖ్యలు కనీసం రెండు సంఖ్యలను అందించే ఫంక్షన్ను వ్రాయండి. |
2 | గరిష్టంగా రెండు సంఖ్యలు గరిష్టంగా రెండు సంఖ్యలను అందించే ఫంక్షన్ను వ్రాయండి. |
3 | కనిష్ట మూడు సంఖ్యలు కనీసం మూడు సంఖ్యలను అందించే ఫంక్షన్ను వ్రాయండి. |
4 | కనిష్టంగా నాలుగు సంఖ్యలు కనీసం నాలుగు సంఖ్యలను అందించే ఫంక్షన్ను వ్రాయండి. min(a,b,c,d) ఫంక్షన్ min(a,b) ఫంక్షన్ని ఉపయోగించాలి (కాల్) |
5 | స్ట్రింగ్ డూప్లికేషన్ పాస్ చేసిన స్ట్రింగ్కు మూడు రెట్లు ప్రదర్శించే ఫంక్షన్ను వ్రాయండి. ప్రతి స్ట్రింగ్ కొత్త లైన్లో ఉండాలి. |
6 | టెక్స్ట్ డిస్ప్లే పాస్ చేసిన స్ట్రింగ్ (పదం)ని ఒకే లైన్లో మూడు సార్లు ప్రదర్శించే ఫంక్షన్ను వ్రాయండి. పదాలు తప్పనిసరిగా ఖాళీతో వేరు చేయబడాలి మరియు ఒకటిగా విలీనం చేయవలసిన అవసరం లేదు. |